From dd112b040dba755edfd81836ca2b37d3f4c4a193 Mon Sep 17 00:00:00 2001 From: Diego Date: Thu, 18 Jan 2018 00:01:35 -0300 Subject: some cleanup before release 1.0.0 --- .travis.yml | 4 +- README.md | 102 +++++++++------------ .../test/scala/kamon/ReporterRegistrySpec.scala | 15 +++ .../metric/PeriodSnapshotAccumulatorSpec.scala | 15 +++ .../main/scala/kamon/util/DifferentialSource.scala | 15 +++ .../src/main/scala/kamon/util/DynamicAccess.scala | 15 +++ project/build.properties | 2 +- travis-test.sh | 41 --------- 8 files changed, 107 insertions(+), 102 deletions(-) delete mode 100755 travis-test.sh diff --git a/.travis.yml b/.travis.yml index ba4e71a6..5f85bcd0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: scala script: - - ./travis-test.sh + - sbt +test scala: - - 2.11.8 + - 2.12.4 jdk: - oraclejdk8 before_script: diff --git a/README.md b/README.md index fcb3a526..f947e341 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,23 @@ Kamon is currently available for Scala 2.10, 2.11 and 2.12. Supported releases and dependencies are shown below. -| kamon | status | jdk | scala | akka | -|:------:|:------:|:----:|------------------|:------:| -| 0.6.6 | stable | 1.7+, 1.8+ | 2.10, 2.11, 2.12 | 2.3.x, 2.4.x | +| kamon | status | jdk | scala +|:------:|:------:|:----:|------------------ +| 1.0.0 | stable | 1.7+, 1.8+ | 2.10, 2.11, 2.12 -To get started with SBT, simply add the following to your `build.sbt` +To get started with SBT, simply add the following to your `build.sbt` or `pom.xml` file: ```scala -libraryDependencies += "io.kamon" %% "kamon-core" % "0.6.6" +libraryDependencies += "io.kamon" %% "kamon-core" % "1.0.0.6" +``` + +```xml + + io.kamon + kamon-core_2.12 + 1.0.0 + ``` ### Documentation @@ -29,46 +37,38 @@ Kamon information and documentation is available on the ### Modules ### -* [Play Framework] -* [Spray] -* [Akka] -* [Akka Remote] -* [Akka Http] -* [Scala] -* [Annotation] -* [System Metrics] -* [JDBC] -* [Elasticsearch] +We started migrating modules to Kamon `1.0.0` based on the usage data we have, community demand and time availability, but +not all have been upgraded just yet. + +Now, the lucky modules currently available are: + - [Core](https://github.com/kamon-io/kamon) includes all metrics, tracing and context management APIs. + - [Akka](https://github.com/kamon-io/kamon-akka) for actor metrics and tracing inside a single JVM. + - [Akka Remote](https://github.com/kamon-io/kamon-akka-remote) has now serialization and remoting metrics and is able + to trace messages across remote actor systems. + - [Akka HTTP](https://github.com/kamon-io/kamon-akka-http) with client and service side tracing and HTTP server metrics. + - [Futures](https://github.com/kamon-io/kamon-futures) bring automatic context propagation for Scala, Finagle and + Scalaz futures. + - [Executors](https://github.com/kamon-io/kamon-executors) collects executor service metrics. + - [Play Framework](https://github.com/kamon-io/kamon-futures) with client and server side tracing. + - [JDBC](https://github.com/kamon-io/kamon-jdbc) gives you metrics and tracing for JDBC statements execution and + Hikari pool metrics. + - [Logback](https://github.com/kamon-io/kamon-logback) comes with utilities for adding trace IDs to your logs and + instrumentation to keep context when using async appenders. + - [System Metrics](https://github.com/kamon-io/kamon-system-metrics) gathers host, process and JVM metrics. ### Backends ### -* [Log Reporter] -* [StatsD] -* [Datadog] -* [SPM] -* [InfluxDB] -* [New Relic] -* [FluentD] -* [JMX] -* [Riemann] -* [Khronus] - + - [Promethus](https://github.com/kamon-io/kamon-prometheus) exposes a scrape endpoint with all available metrics. + - [Zipkin](https://github.com/kamon-io/kamon-zipkin) for reporting trace data. + - [Jaeger](https://github.com/kamon-io/kamon-jaeger) reports tracing data as well. + - [Kamino](https://github.com/kamino-apm/kamino-reporter) reports metrics and tracing data to [Kamino][8] -### Projects using Kamon ### - -If you have a project you'd like to include in this list, either open a PR or let us know in [the gitter channel](https://gitter.im/kamon-io/Kamon) and we'll add a link to it here. - -* [kamon-prometheus](https://github.com/MonsantoCo/kamon-prometheus): A Kamon backend to support Prometheus -* [spray-kamon-metrics](https://github.com/MonsantoCo/spray-kamon-metrics): Better Kamon metrics for Spray services -* [camel-kamon](https://github.com/osinka/camel-kamon): Kamon metrics and traces for Apache Camel routes, processors -* [kamon-play-extensions](https://github.com/agiledigital/kamon-play-extensions): Kamon extensions for use in Play2 applications. -* [kamon-logstash](https://github.com/darienmt/kamon-logstash): Kamon-logstash backend module. ## License This software is licensed under the Apache 2 license, quoted below. -Copyright © 2013-2016 the kamon project +Copyright © 2013-2018 the kamon project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of @@ -82,25 +82,11 @@ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - -[Play Framework]: https://github.com/kamon-io/kamon-play -[Spray]: https://github.com/kamon-io/kamon-spray -[Akka]:https://github.com/kamon-io/kamon-akka -[Akka Remote]: https://github.com/kamon-io/kamon-akka-remote -[Akka Http]: https://github.com/kamon-io/kamon-akka-http -[Scala]: https://github.com/kamon-io/kamon-scala -[Annotation]: https://github.com/kamon-io/kamon-annotation -[System Metrics]: https://github.com/kamon-io/kamon-system-metrics -[JDBC]: https://github.com/kamon-io/kamon-jdbc -[Elasticsearch]: https://github.com/kamon-io/kamon-elasticsearch - -[Log Reporter]: https://github.com/kamon-io/kamon-log-reporter -[SPM]: https://github.com/kamon-io/kamon-spm -[Datadog]: https://github.com/kamon-io/kamon-datadog -[FluentD]: https://github.com/kamon-io/kamon-fluentd -[JMX]: https://github.com/kamon-io/kamon-jmx -[StatsD]: https://github.com/kamon-io/kamon-statsd -[Riemann]: https://github.com/kamon-io/kamon-riemann -[Khronus]: https://github.com/kamon-io/kamon-khronus -[New Relic]: https://github.com/kamon-io/kamon-newrelic -[InfluxDB]: https://github.com/kamon-io/kamon-influxdb +[1]: https://github.com/dpsoft +[2]: https://github.com/ivantopo +[3]: /documentation/1.x/recipes/migrating-from-kamon-0.6.x/ +[4]: https://research.google.com/pubs/pub36356.html +[5]: https://twitter.github.io/finagle/guide/Contexts.html +[6]: https://grpc.io/grpc-java/javadoc/io/grpc/Context.html +[7]: https://gitter.im/kamon-io/Kamon +[8]: https://kamino.io/ \ No newline at end of file diff --git a/kamon-core-tests/src/test/scala/kamon/ReporterRegistrySpec.scala b/kamon-core-tests/src/test/scala/kamon/ReporterRegistrySpec.scala index d17c0f09..515dfdd1 100644 --- a/kamon-core-tests/src/test/scala/kamon/ReporterRegistrySpec.scala +++ b/kamon-core-tests/src/test/scala/kamon/ReporterRegistrySpec.scala @@ -1,3 +1,18 @@ +/* ========================================================================================= + * Copyright © 2013-2017 the kamon project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language governing permissions + * and limitations under the License. + * ========================================================================================= + */ + package kamon import com.typesafe.config.Config diff --git a/kamon-core-tests/src/test/scala/kamon/metric/PeriodSnapshotAccumulatorSpec.scala b/kamon-core-tests/src/test/scala/kamon/metric/PeriodSnapshotAccumulatorSpec.scala index 6c622470..bc6419cb 100644 --- a/kamon-core-tests/src/test/scala/kamon/metric/PeriodSnapshotAccumulatorSpec.scala +++ b/kamon-core-tests/src/test/scala/kamon/metric/PeriodSnapshotAccumulatorSpec.scala @@ -1,3 +1,18 @@ +/* ========================================================================================= + * Copyright © 2013-2018 the kamon project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language governing permissions + * and limitations under the License. + * ========================================================================================= + */ + package kamon.metric import java.time.temporal.ChronoUnit diff --git a/kamon-core/src/main/scala/kamon/util/DifferentialSource.scala b/kamon-core/src/main/scala/kamon/util/DifferentialSource.scala index f2c621b0..a9005d70 100644 --- a/kamon-core/src/main/scala/kamon/util/DifferentialSource.scala +++ b/kamon-core/src/main/scala/kamon/util/DifferentialSource.scala @@ -1,3 +1,18 @@ +/* ========================================================================================= + * Copyright © 2013-2017 the kamon project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language governing permissions + * and limitations under the License. + * ========================================================================================= + */ + package kamon.util /** diff --git a/kamon-core/src/main/scala/kamon/util/DynamicAccess.scala b/kamon-core/src/main/scala/kamon/util/DynamicAccess.scala index 87f7024a..07e2e48e 100644 --- a/kamon-core/src/main/scala/kamon/util/DynamicAccess.scala +++ b/kamon-core/src/main/scala/kamon/util/DynamicAccess.scala @@ -1,3 +1,18 @@ +/* ========================================================================================= + * Copyright © 2013-2017 the kamon project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language governing permissions + * and limitations under the License. + * ========================================================================================= + */ + package kamon.util import scala.collection.immutable diff --git a/project/build.properties b/project/build.properties index 5f32afe7..c091b86c 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.13 \ No newline at end of file +sbt.version=0.13.16 diff --git a/travis-test.sh b/travis-test.sh deleted file mode 100755 index b106f2f5..00000000 --- a/travis-test.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash -# Licensed under the Apache License, Version 2.0 -# Adapted from https://github.com/paulp/psp-std/blob/master/bin/test - -runTests () { - sbt -Dakka.test.timefactor=1.5 \ - 'set concurrentRestrictions in Global += Tags.limit(Tags.Compile, 2)' \ - 'set testOptions in test in Global := Seq(Tests.Argument(TestFrameworks.ScalaTest, "-oUNCXHELPOQRM"))' \ - '+ compile' \ - test || exit 1 - - echo "[info] $(date) - finished sbt test" -} - -stripTerminalEscapeCodes () { - sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGKM]//g" -} - -mkRegex () { ( IFS="|" && echo "$*" ); } - -filterOutput() { - while read line; do - if ! [[ $(echo $line | stripTerminalEscapeCodes) =~ $excludeRegex ]] ; then - echo $line - fi - done -} - -main() { - # sbt output filter - local excludeRegex=$(mkRegex \ - '\[info\] (Resolving|Loading|Updating|Packaging|Done updating|downloading| \[SUCCESSFUL \])' \ - 're[-]run with [-]unchecked for details' \ - 'one warning found' - ) - - echo "[info] $(date) - starting sbt test" - (set -o pipefail && runTests |& filterOutput) -} - -main $@ \ No newline at end of file -- cgit v1.2.3