v2.4.0 - Local Tail Sampling & More!
Introducing Local Tail Sampling
This release comes with a new way of ensuring you will get traces for slow and failed requests, at least locally: the Local Tail-based Sampler.
The quick summary is that the local tail sampler can keep finished spans in memory for a few seconds and then override their sampling decision if they reach a configurable latency or error count threshold. If you want the full story check out our post about how to keep traces for slow and failed requests.
You can enabled the local tail sampler with these settings:
kamon.trace {
span-reporting-delay = 20 seconds
local-tail-sampler {
enabled = yes
error-count-threshold = 1
latency-threshold = 1 second
}
}
Improvements
- datadog: The OkHttp dependency is now shaded into the Datadog reporter jar to avoid classpath clashes. Contributed by @seglo via #1069
- prometheus: Get easy access to the Prometheus scrape data through
PrometheusReporter.latestScrapeData()in case you need it for exposing on your own HTTP server. Contributed by @ivantopo via #1079 - redis: The Jedis instrumentation now works with Jedis 2.x as well. There is still a known issue in #1082 that should get solved soon after. Contributed by @jtjeferreira via #1076
- apm: The Kamon APM reporter now drops old Spans that might be accumulated in the reporters' executor and comes with lower retries and backoff default settings. Contributed by @ivantopo via eeb0596 and 49aef33
Fixes
- bundle: Remove a misplaced
logback.xmlfromkamon-mongothat was ending up in the bundle. Thanks @PavelPenkov for reporting the issue. Fixed by @ivantopo via d37cb48 - general: @Philippus helped us get a bunch of typos fixed!