All Versions
17
Latest Version
Avg Release Cycle
72 days
Latest Release
20 days ago

Changelog History
Page 1

  • v2.1.4

    July 22, 2020

    Kafka Producer and Consumer Instrumentation

    📚 A long waited feature is finally landing in Kamon: automatic tracing and context propagation for Kafka producers and consumers! The instrumentation will automatically create Spans for all produced messages to Kafka, and provides helper functions to continue the traces on the consumer side. Take a look at the documentation for more details.

    Thanks a lot to @boxsterman for the initial efforts, and to @mladens for separating the producer/consumer from the streams instrumentation. Kafka Streams should be coming soon!

    Summary Metrics in Prometheus

    🔧 It is now possible to expose summaries with the Prometheus reporter, by configuring the metric names that you would like to expose as summaries and the quantiles that you want to calculate for them. For example, the configuration below ensures that the akka.actor.time-in-mailbox metric gets reported as a summary, instead of a histogram:

    kamon.prometheus.summaries {
        metrics = [
          "akka.actor.time-in-mailbox"
        ]
    
        # Quantiles that should be reported (will be translated to the according percentiles)
        quantiles = [
          0.5,
          0.75,
          0.95,
          0.99,
          0.999
        ]
      }
    

    Thanks a lot to @TjarkoG for contributing this feature!

    🛠 Fixes

    • core : In most cases, reporters would not get a chance to process the last bits of data before shutting down. This issue was caused by a bug on the shutdown order and fixed on this release. Fixed by @ivantopo via #811
  • v2.1.3

    July 07, 2020

    🛠 Fixes

    • cassandra : Issue #799, the Cassandra driver instrumentation would throw a MatchError when a BatchStatement was executed. Fixed by @ivantopo via #799.
    • cassandra : Issue #805, the bundle would fail to start if the Cassandra driver was not present in the classpath. Fixed by @ivantopo via #806.
  • v2.1.2

    July 03, 2020

    👍 Cassandra Driver Support

    👍 This is the first version to include support for the Cassandra Driver 3.x series! Starting on this version, Kamon will automatically:

    • Create Spans for all queries executed with the Cassandra Driver.
    • Track session-level metrics, like open connections, failed executions, number of in-flight requests and so on.
    • Optionally, track connection pool metrics and create spans for every round trip to Cassandra.

    📚 You can check out all the relevant details in the documentation. This instrumentation was contributed by @mladens via #763.

    👌 Improvements

    • common : It is now possible to provide operation name mappings for HTTP client requests via configuration! Contributed by @lacarvalho91 via #771.
    • 🆕 newrelic : The New Relic reporter was updated to the latest NR Telemetry SDK, now allows for overriding the ingestion URL and has an audit logging option. Contributed by @breedx-nr via #479 and @jkwatson via #786.
    • executors : The CaptureContextOnSubmit (experimental) instrumentation now supports ScheduledExecutorService submissions as well. Contributed by @fmonniot via #787.

    🛠 Fixes:

    • akka : The instrumentation was always hooking the heavyweight ask pattern warning, regardless of the configuration. Fixed by @DieBauer via #765.
  • v2.1.1

    June 08, 2020

    👌 Improvements

    • prometheus : Removed the nanoHTTP dependency in favour of the simple HTTP server that ships with the JDK. Contributed by @danischroeter via #762.
    • prometheus : Only append the _total postfix when necessary (i.e. when the metric name doesn't include it already). Contributed by @eugenemiretsky via #773.

    🛠 Fixes

    • core : Distribution.percentile(...) would return an instance instance with a percentile value different than the requested one. More info on #772. Fixed by @ivantopo via 103f5c7
  • v2.1.0

    April 06, 2020

    One version to rule them all

    🚀 The one major achievement on this release is that from now on we will be releasing all our libraries together, using the same version number! No more tracking each library version independently of each other. The latest and greatest will be the same for all our libraries! It was quite a process to get here and if you are interested, all the related commits are linked on #626.

    👌 Improvements

    🚀 This release doesn't come without a couple improvements:

    • core : We included support for the Jaeger headers for Span data propagation. This was originally proposed by @slavaschmidt via #606 and got merged now.
    • prometheus : Thanks to @peavers (with yet another PR that was hanging around for long) Kamon got a new reporter that can push data to Prometheus' PushGateway! You see the details in the original PR: kamon-io/kamon-prometheus#33.
    • influxdb : The InfluxDB reporter now includes an extra "mean" field. This was contributed by @ornicar via kamon-io/kamon-influxdb#39

    🚀 Stop by our Gitter channel if you want to chat and enjoy the release!

  • v2.0.5

    March 06, 2020

    👌 Improvements

    • The context Scope is now AutoCloseable. This allows for more ergonomic usage when combining it with try-with-resources, scala.util.Using, cats.effect.Resource or anything similar. Contributed by @liff via #637.

    Project Structure Changes

    • 🚀 This release will be the first automated release done entirely from Github Actions, which is the first step towards getting #626 done. All the core sources were moved to the core folder and soon, instrumentation and reporter folders will follow. Contributed by @ivantopo via 295da01
  • v2.0.4

    December 17, 2019

    🛠 Fixes

    • 🔧 Duplicated timers data was reported when a PeriodSnapshot.Accumulator was used. This would only happen if a reporter is expecting a different tick interval size than what Core has configured so not a very common situation. Fixed by @ivantopo via #628.
  • v2.0.3

    December 14, 2019

    🛠 Fixes

    • 🛠 Include the error.message tag when a Span is failed with a Throwable. Fixed by @mladens via #625.
    • 🔧 Properly handle calls to Config.pairs when the configuration has a key with special characters in it. Fixed by @mladens via #624
  • v2.0.2

    November 18, 2019

    👌 Improvements

    • 🛠 Show the right error message when a metric redefinition is attempted. Fixes #608 and contributed by @ivantopo via #106
    • ✂ Remove unused enabled setting in the Status Page reference configuration. Contributed by @pnerg via #621.
  • v2.0.1

    September 30, 2019

    🛠 Fixes

    • 🔧 Some typos regarding configure the B3 Single Header propagation for Spans on the reference configuration. This was fixed by @schrepfler via #598 and #599.
    • 🛠 It wasn't possible to start any module after Kamon.stopModules() was called. This was fixed by @ivantopo via #605.

    👌 Improvements

    • 🔧 Include the exception thrown by histograms when recording values outside of the configured range on the logged warning messages to help with debugging. Contributed by @ivantopo via cc8d5bc
    • ⚠ Thanks to @melezov we have a cleaner code base! He cleaned up several warnings in the core module via #600.