All Versions
Latest Version
Avg Release Cycle
61 days
Latest Release
1036 days ago

Changelog History
Page 1

  • v2.1.9 Changes

    November 24, 2020

    ๐Ÿ›  Maintenance release with various bugfixes.

    • kamon-core : remove outdated configuration. Contributed by @dpsoft via #874
    • kamon-system-metrics : Brings back classloading metrics and exposes additional usage percentage metrics. Contributed by @SimunKaracic via #881, closes #872 and #860
    • kamon-datadog : Replace play-json dependency with nanojson. Contributed by @DWvanGeest via #892
    • kamon-annotation : Fix #889 by properly shading dependencies. Fixed by @SimunKaracic via #897
    • kamon-akka : Rework tags and operation name on actor spans, to accommodate typed actors. Contributed by @SimunKaracic via #898
    • kamon-system-metrics : updated oshi-core dependency to 5.3.6 and fix #893. Contributed by @SimunKaracic via #900
    • kamon-cassandra : fix intermittent test failures. Fixed by @SimunKaracic via #865
    • kamon-jdbc : fix intermittent test failures. Fixed by @SimunKaracic via #873
  • v2.1.8 Changes

    October 12, 2020

    ๐Ÿ†• New Instrumentation

    • elasticsearch : We are now shipping a new kamon-elasticsearch module with automatic instrumentation for the official Java REST client. Contributed by @SimunKaracic via #859.

    ๐Ÿ‘Œ Improvements

    • common : Implement #857, making it possible to append custom HTTP headers in the response. Contributed by @pnerg via #858.
    • kamon-jaeger : Make jaeger endpoint configurable. Contributed by @klvmungai via #869.
  • v2.1.7 Changes

    October 05, 2020

    ๐Ÿ›  Maintenance release with various bugfixes.

    • kanela-agent : Fix deadlock bug #827 by upgrading kanela version. Contributed by @SimunKaracic via #870.
    • kamon-prometheus : Fix wrong response size when encountering non UTF-8 characters, and improve documentation. Contributed by @kh-evgeniy via #845 and @Sabbasth via #856.
    • kamon-datadog : Improve filtering tests and throw exception when unable to communicate to Datadog servers. Contibuted by @jarimatti via #848 and @ryota0624 via #863.
    • kamon-core : URL header encoding now conforms to Jaeger Java client spec.Fix Contributed by @DWvanGeest via #849.
    • kamon-annotation : Replace expiringMap cache with caffeine version, due to a known deadlock bug. Contributed by @SimunKaracic via #862.
    • kamon-jdbc : Fix NPE in Hikari instrumentation. Contributed by @ecyshor via #867.
  • v2.1.6 Changes

    August 31, 2020

    This version contains the exact same changes as 2.1.5, but solves the packaging issue described on #844.

  • v2.1.5 Changes

    August 28, 2020

    ๐Ÿ†• New Instrumentation

    • ok-http : We are now shipping a new kamon-ok-http module with automatic instrumentation for OkHttp. Contributed by @cspinetta via #808.
    • akka-http : We added support for Akka HTTP 10.2.0. Contributed by @ivantopo via #838.

    ๐Ÿ‘Œ Improvements

    • play : Services using Play gRPC will now get a proper sampling decision and operation name on all gRPC services. Contributed by @klvmungai via #839.
    • statsd : It is now possible to throttle the speed at which the StatsD reporter sends data over UDP to the StatsD daemon. There was a long conversation on Gitter with a bunch of details, highly recommended to follow. Contributed by @ivantopo via #828.

    ๐Ÿ›  Fixes

    • core : The debug flag on X-B3-Flags should only be taken into account when it is set to 1. Contributed by @klvmungai via #823.
    • common : The HTTP clients instrumentation is now guarding against any errors thrown while resolving operation names. This issue was reported as #813 and fixed by @ivantopo via ad586db.
    • kafka : Fix compatibility issues with Kafka Clients 2.5 and 2.6. Fixed by @dpsoft via #836.
    • akka : Clean up the context on RepointableActorRef instances after initialization. This was leaving the door open for actors to retain more allocated objects than necessary and accelerate a possible out of memory error. Fixed by @ivantopo via #837.
    • core : Dump any configuration errors to STDERR instead of using a logger. This helps avoid NPEs produced when there are configuration issues and the Logback instrumentation is active at the same time. Fixed by @ivantopo via #819.
  • v2.1.4 Changes

    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 metric gets reported as a summary, instead of a histogram:

    kamon.prometheus.summaries {
        metrics = [
        # Quantiles that should be reported (will be translated to the according percentiles)
        quantiles = [

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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!