Skip to content

Releases: kamon-io/Kamon

v2.1.7 - Maintenance Release

05 Oct 12:12
d5a9c18
Compare
Choose a tag to compare

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 - Maintenance Release

31 Aug 15:11
Compare
Choose a tag to compare

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

v2.1.5 - Akka HTTP 10.2 and OkHttp Support

28 Aug 13:30
19ec532
Compare
Choose a tag to compare

⚠️ 🚨 Jump straight to Kamon 2.1.6! There was an issue packaging this release for Scala 2.12 and Scala 2.13, which could cause the problems described in #844. It got fixed on 2.1.6.

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 - Kafka Producer and Consumer Instrumentation

22 Jul 14:16
05613bf
Compare
Choose a tag to compare

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 - Maintenance Release

07 Jul 08:07
Compare
Choose a tag to compare

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 - Cassandra Driver Support

03 Jul 05:33
Compare
Choose a tag to compare

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 - Maintenance Release

08 Jun 20:27
Compare
Choose a tag to compare

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 - One version to rule them all

06 Apr 20:11
Compare
Choose a tag to compare

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 - Maintenance Release

06 Mar 21:21
Compare
Choose a tag to compare

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 - Maintenance Release

17 Dec 14:49
Compare
Choose a tag to compare

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.