Releases: kamon-io/Kamon
v2.7.3
What's Changed
New Features:
- Added instrumentation for apache cxf client. by @atyutin90 in #1335
- Providers for Runnable and Callable wrappers when using Kanela "executor-service-capture-on-submit" module by @alexmihailov in #1333
Improvements:
- Fix version of pekko-actor dependency by @Philippus in #1342
Fixes:
- fix: ClassNotFound for apache instrumentation by @hughsimpson in #1343
New Contributors
- @atyutin90 made their first contribution in #1335
- @alexmihailov made their first contribution in #1333
Full Changelog: v2.7.2...v2.7.3
v2.7.2
What's Changed
New Features:
- Add Apache HttpClient 4.x instrumentation by @rg-p in #1330
- Add EntityID to DatadogAgentReporter by @juancarrey in #1338
Improvements:
- Added scalafmt by @hughsimpson in #1327 #1328
- Bump packaged libs by @hughsimpson in #1329
Fixes:
- fix consumer instrumentation for kafka 3.7.0+ by @hughsimpson in #1340
New Contributors
- @juancarrey made their first contribution in #1338
Full Changelog: v2.7.1...v2.7.2
v2.7.1
What's Changed
New Features:
- Add ZIO2 context propagation in #1318 by @dispalt
- Add kamon http4s by in #1319 by @vaslabs and @irodotos7
- Add kamon-opensearch in #1324 by @PrajeenRG
Improvements:
- Bump okhttp to 4.12.0 (fixes CVE-2023-3635) in #1317 by @lolgab
Fixes:
- Fix for postgresql 42.7.2 - java.lang.NoSuchFieldError: checkConnectionQuery (#1321) in #1326 by @hughsimpson
New Contributors
- @dispalt made their first contribution in #1318
- @lolgab made their first contribution in #1317
- @PrajeenRG made their first contribution in #1324
Full Changelog: v2.7.0...v2.7.1
v2.7.0
What's Changed
New features
- Update Akka, pekko, and pekko-http to support scala 3 in #1311 by @hughsimpson and @TjarkoG
- akka-grpc and pekko-grpc scala 3 support by @hughsimpson in #1312
- Scala 3 support for: jdbc, elasticsearch, logback, okhttp, spring, aws-sdk and bundle by @hughsimpson in #1313
Full Changelog: 2.6.6...v2.7.0
v2.6.6
What's Changed
New Features:
- feat: add pekko-grpc instrumentation by @inobu in #1307
- upgrades kanela agent to 1.0.18 which includes support for jdk21 by @danischroeter in #1300
Improvements:
- Add Datadog specific error tags by @TAKAyukiatkwsk in #1228
- AtomicGetOrElseUpdateOnTrieMap::atomicGetOrElseUpdate -> TrieMap::getOrElseUpdate by @dpsoft in #591
Fixes:
- Properly parse unsigned integer trace id by @vivekmahajan in #1305
- Use ConfigUtil.splitPath to build environment tag keys from a config path by @thyandrecardoso in #1303
New Contributors
- @TAKAyukiatkwsk made their first contribution in #1228
- @inobu made their first contribution in #1307
- @vivekmahajan made their first contribution in #1305
- @thyandrecardoso made their first contribution in #1303
Full Changelog: v2.6.5...2.6.6
v2.6.5
Fixes:
- Fix transitive dependency inclusion in pekko module by @hughsimpson in #1299
Full Changelog: v2.6.4...v2.6.5
v2.6.4 - Pekko instrumentation
Update:
New Features:
- kamon-pekko / kamon-pekko-http Initial instrumentation for pekko and pekko-http, based on existing akka instrumentation. Contributed by @DieBauer and @pronovic in #1264 #1285 #1291
Improvements:
- kafka Permit specifying custom propagation implementation. Contributed by @hughsimpson in #1292
Fixes:
- system: Jvm metrics class loading descriptions. Contributed by @Philippus in #1287
New Contributors
Full Changelog: v2.6.3...v2.6.4
v2.6.3 - Scala Global ExecutionContext instrumentation
New Features
- scala: Scala's
ExecutionContext.global
execution context is now instrumented by default. Contributed by @solnaranu via #1271
PS: If you are searching for v2.6.2 then stop, you won't find it. There were some issues with re-doing the release after an issue with the build and that tag go trashed so we are skipping that release number.
v2.6.1 - Maintenance Release
New Features:
- core: We introduced a new
kamon.init.attach-instrumentation
setting to control whether Kamon should try to attach the automatic instrumentation when running initialisation. Contributed by @ivantopo via #1278
Improvements:
- prometheus: The Prometheus exporter now includes a default set of buckets for percentage-based units. Contributed by @jatcwang via #1266
Fixes:
- kafka: avoid NPE when consumer records are missing Kamon's context. Fixed by @ivantopo via #1269
- core: avoid showing the initialisation banner twice when calling
initWithoutAttaching
. Fixed by @ivantopo via #1256 - datadog: avoid EOFException on the Datadog Spans reporter. Fixed by @ivantopo via #1270
v2.6.0 - Welcome kamon.enabled
Introducing the kamon.enabled setting
You can now toggle Kamon on and off using the kamon.enabled
setting! The days of modifying code for test environments or making your own poor human's enabled flag are gone. This setting is considered experimental at the moment because there might be corner cases we are not covering, so please let us know if you find any issues with it! When Kamon is disabled, it wont:
- Start any of the configured reporters
- Apply automatic instrumentation
- Start modules like the status page
You should still call Kamon.init()
when starting your application as usual and the kamon.enabled
setting will decide whether the call initializes Kamon or basically turns into a noop. Please note that you can't reconfigure Kamon with a different value for kamon.enabled
after initializing Kamon. If you need to enable/disable Kamon, you'll have to restart the app with the new config value.
Upgrade Notes:
- If you are using the Kanela agent directly, please upgrade to version 1.0.17
- Look for
kamon.enabled
settings on your codebase and clean them up! Over the years we have seen folks implementing this behavior themselves and now is time for cleaning that up.
Improvements:
- jdbc: Support for Snowflake JDBC. Contributed by @jatcwang via #1230
- jdbc: Support for PrestoDB JDBC. Contributed by @ivantopo via #1247
- prometheus: Escape backslashes on label values. Contributed by @ivantopo via #1244
- akka: Ensure the cluster sharding instrumentation works with Akka 2.7. Contributed by @ivantopo via #1245
- kafka: Allow W3C-TraceContext propagation through Kafka. Contributed by @Symbianx via #1237
- play: Ensure the Play Framework instrumentation is loaded after Logback to avoid initializing Logback classes too early. Contributed by @ivantopo via #1236
- logback: Allow adding the source thread ID to MDC. Contributed by @nvollmar via #1250
- logback: Rewrite the Logback instrumentation to ensure consistent context propagation to MDC. Contributed by @nvollmar via #1252
- newrelic: Add support for NewRelic's new license key, in addition to the previously supported NR Insights key. Contributed by @bwiercinski and @matwojcik via #1249