Skip to content

Releases: kamon-io/Kamon

v2.5.12 - Maintenance Release

21 Nov 08:15
7f80622
Compare
Choose a tag to compare

Fixes

  • logback: Append context tags/keys to the MDC, even when the MDC is empty. This issue was introduced on 2.5.11. Fixed by @ivantopo via #1227. Many thanks to @scheleaap for providing a reproducible!

Improvements

  • all: Bump OkHttp version to 4.10.0. Contributed by @azolotko via #1226
  • akka-grpc: Propagage context to service implementations when handling unary requests on the Java API. Contributed by @ivantopo via #1229

v2.5.11 - Maintenance Release

02 Nov 20:36
92f2e3a
Compare
Choose a tag to compare

Fixes

  • apm: The Kamon APM reporter was not closing OkHttp's response body, leading to a warning about leaked connections. Fixed by @ivantopo via #1224

Improvements:

  • redis, caffeine, and annotation: These modules are now published for Scala 3 as well. Contributed by @hughsimpson via #1123 and #1221.

v2.5.10 - Maintenance Release

26 Oct 13:21
5cf9653
Compare
Choose a tag to compare

Fixes:

  • logback: #1212 Avoid stackoverflow errors when using Logback 1.3.x / 1.4.x. Fixed by @ivantopo via #1220

Improvements:

  • bundle: The bundle now ships with Kanela 1.0.16. Now you can use Kanela on folders that have white spaces on their path.
  • apm: Moved to the v2 ingestion API on the Kamon APM reporter. All timestamps on spans (start, finish, and marks) are now reported using the full nanosecond precision available on Kamon Telemetry. Contributed by @ivantopo via #1211

v2.5.9 - Cats Effect 3 Support & Minor Fixes

18 Oct 07:34
3f3b649
Compare
Choose a tag to compare

New Features

Improvements

  • jaeger: Bumped jaeger-thrift dependency to address security issues. Contributed by @mvollmar via #1209
  • common: Increase default range for the http.server.connection.lifetime metric to a week. Contributed by @ivantopo via #1204
  • jvm: Add memory utilization metrics and support ZGC/Shenandoah. Contributed by @ivantopo via #1203
  • scala-future and kafka: Make the tests pass and publish artifacts for Scala 3. Contributed by @hughsimpson via #1208

v2.5.8 - Tapir 1.x Support and Fixes

29 Aug 10:38
2cccc4b
Compare
Choose a tag to compare

Improvements

  • tapir: The Tapir instrumentation is now compatible with Tapir 1.x. Contributed by @Grandys and @hughsimpson via #1188. Thanks for your help!

Fixes

  • core: Ensure that ignored operations are taken into account when doing delayed sampling. Fixed by @ivantopo via #1198

v2.5.7 - More Scala 3 Support & Ignoring Operations

24 Aug 14:15
ad2e597
Compare
Choose a tag to compare

Ignoring Metrics and Spans for Specific Operations

We get asked pretty often: how can we disable sampling for health checks and status endpoints? This Kamon Telemetry version comes with a new setting for that:

kamon.trace.ignored-operations = ["/status", "/health", "/ready"]

This has a few advantages over the groups configuration on the adaptive sampler:

  • It works with all samplers, including always and random.
  • It comes with a track-metrics-on-ignored-operations setting, which allows disabling metrics for these operations too (the adaptive sampler would only disable sampling but still track metrics for all operations).

Improvements

  • instrumentation-common: This module is now published for Scala 3 as well. Special thanks to @vaslabs for going the extra mile on that PR 😍. Contributed by @vaslabs via #1191.
  • core: Introduce a new setting to ignore operations and disable metrics for them. Contributed by @ivantopo via #1197

v2.5.6 - Experimental Akka Cluster Metrics

04 Aug 11:24
29a9085
Compare
Choose a tag to compare

Akka Cluster Metrics

This release comes with experimental support for a bunch of Akka Cluster-related metrics! We can break down the metrics into per-state member counts that help you get a general view of the cluster status, and per-member status counts, which let you see exactly which nodes are on each state.

Per-state Member Counts

These metrics track how many cluster members are on each of the possible states in the cluster. The metric names for these states are:

  • akka.cluster.members.joining.count
  • akka.cluster.members.weakly-up.count
  • akka.cluster.members.up.count
  • akka.cluster.members.leaving.count
  • akka.cluster.members.exiting.count
  • akka.cluster.members.down.count
  • akka.cluster.members.removed.count
  • akka.cluster.members.total.count

All members of the cluster expose these metrics with the number of members they see in each state. Since these metrics are exposed as gauges, you could always make a chart of the max(akka.cluster.members.[state].count) to see how many members are on a given state. For example, for members in the Up state you can see how a cluster starts growing in members:
image

Per-member Status Counts

The metrics we mentioned above will help you know, for example, that there are 3 members in the Joining state, but what if you want to know whichare those members? That's what the per-member metrics are for. These metrics have a member tag that identifies the member being measured, and the value of the metric tells you the state it is currently in. Here is a breakdown of the possible values:

akka.cluster.member.status

  • Joining = 1
  • WeaklyUp = 2
  • Up = 3
  • Leaving = 4
  • Exiting = 5
  • Down = 6
  • Removed = 7

akka.cluster.member.reachability

  • Reachable = 0
  • Unreachable = 1

The same as with the status metrics, you can plot the max(akka.cluster.members.status) and see what's the latest on each member of the cluster! In the example below, all members are on state 3 (Up):
image

Enabling Cluster Metrics

This feature isn't fully tested yet so we are not enabling it by default. To enable Akka Cluster Metrics, add this setting to your application.conf file:

kamon.instrumentation.akka.cluster.track-cluster-metrics=yes

New Features

  • akka: Publish Akka Cluster metrics for members' status and reachability. Contributed by @ivantopo via #1189

v2.5.5 - ClassLoading Improvements for Play Framework

29 Jun 17:36
1212250
Compare
Choose a tag to compare

Improvements

  • play: We are now using the Play Environment's class loader to create all Kamon-related objects. This ensures that custom classes (like samples or SlowStatementProcessors) can be loaded from the classpath when running on development mode. Contributed by @ivantopo via #1185

v2.5.4 - Maintenance Update

08 Jun 17:08
Compare
Choose a tag to compare

Fixes

  • bundle: The new kamon-aws-sdk module had a Compile dependency on the Dynalite test container that was brining a bunch of extra classes into the Bundle and messing with user-provided dependencies 🤦. Reported by @fggarcia on #1171 and fixed by @ivantopo via #1178
  • aws-sdk: Duplicate execution attribute definitions when using more than one AWS SDK Client. Reported by @hhalex on #1173 and fixed by @ivantopo on #1175

v2.5.3 - AWS SDK for Java & Basic Alpakka Kafka

23 May 19:47
Compare
Choose a tag to compare

🔥 🚨 🔥 Skip this release! This release has a dependency packaging issue described in #1171. Please jump straight to the latest and greatest Kamon Telemetry version!

AWS SDK for Java Support

image
This release ships automatic instrumentation for the AWS SDK for Java, both 1.x and 2.x! The support is pretty basic: just tracing interactions with the SDK client libraries. Of course, the automatic metrics collected from spans will be there to help, but that's it.

The immediate next steps for the AWS SDK instrumentation are to ensure context propagation through SQS (same as we do for Kafka) and start extracting more request-specific information to enrich those spans. Feel free to stop by our Discord or open an issue to tell us what you are missing!

New Features

  • aws-sdk: We are shipping a new kamon-aws-sdk instrumentation module that comes with basic tracing capabilities for the AWS Java SDK. Contributed by @ivantopo via #1167
  • alpakka-kafka: We are shipping a new kamon-alpakka-kafka instrumentation module that includes automatic context propagation for ProducerMessage instances. Contributed by @ivantopo via #1168