Note
When the sampling.priority tag has a positive value we now translate that to forceKeep to ensure the trace segment is kept regardless of any previous sampling decision
Components
Application Security Management (IAST)
- ๐๐ Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- โจโก Improve performance of regexps in IAST and query obfuscator (#11649 - @manuel-alvarez-alvarez)
- ๐ Fix IAST JDBC instrumentation when getMetadata throws non-SQLException (#11420 - @smola)
Application Security Management (WAF)
- ๐ Fix unbounded multipart form-field buffering in Jetty 8 PartHelper (#11876 - @jandro996)
- โจ Add request_excluded tag to appsec.waf.requests metric (#11744 - @jandro996)
- ๐ Fix rasp.rule.match metric always reporting block:N/A (#11723 - @jandro996)
- ๐๐ Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- โจ Fix waf.updates metric success:N/A tag from sequential counter metric values (#11604 - @jandro996)
- โจ Implement SCA Reachability runtime detection: report vulnerable classes and callsites via telemetry (#11352 - @jandro996)
- โจ Add server.request.body.filenames AppSec address for Vert.x 3.4, 4.0 and 5.0 (#11268 - @jandro996)
- โจ Add server.request.body.filenames support for Jetty (#10988 - @jandro996)
Build & Tooling
- โจ๐ Forbid
OkHostnameVerifierto prevent accidental use, CVE-2021-0341 (#11694 - @bric3)
Configuration at Runtime
- โจ Avoid logging stack trace during expected remote-config exception (#11328 - @sarahchen6)
Configuration
- โจ Add OTLP Trace Metrics Configs (#11653 - @mhlidd)
- โจโก Optimize collection creation and memory allocation of supported config (#11616 - @PerfectSlayer)
Continuous Integration Visibility
- โจ Avoid final field modifications in Karate instrumentation (#11753 - @daniel-mohedano)
- โจ Avoid final field modification in Weaver instrumentation (#11728 - @daniel-mohedano)
- ๐ Disable invokedynamic bytecode for legacy Gradle instrumentation (#11618 - @daniel-mohedano)
- โจ Support Maven generateTestClasspath lookup on 3.6.0+ (#11577 - @daniel-mohedano)
- โจ Truncate CI Visibility meta tag values (#11485 - @juan-fernandez)
Crash Tracking
- ๐ก Include JVM distribution details in crash report (#11715 - @gyuheon0h)
- โจ Improve crash report message when signal is absent (#11681 - @amarziali)
- ๐ Avoid crashtracking temp-script path hijack (#11613 - @jbachorik)
Data Streams Monitoring
- โจ Update EventBridge DSM topic naming (#11603 - @jeastham1993)
Dynamic Instrumentation
- ๐ Fix Kotlin Debug source mapping (#11803 - @jpbempel)
- โจ Add evaluation timeout for expressions (#11741 - @jpbempel)
- ๐ Fix Spring MethodParameters detection (#11647 - @jpbempel)
- ๐ Fix sampling log probe with capture expressions (#11571 - @jpbempel)
Metrics
- โจ๐งน Update
AggregateEntryto Split OK/Error Latencies (#11719 - @mhlidd) - โจโก Lazy-allocate error latency histogram on AggregateEntry (#11478 - @dougqh)
- โจโก Introduce per-component / tag cardinality limits in client-side stats (#11387 - @dougqh)
OpenFeature
- ๐ Use agent OTel metrics for OpenFeature evaluations (#11745 - @sameerank)
- ๐ Skip malformed FFE flags during config parsing (#11534 - @leoromanovsky)
- ๐งน Use canonical FFE fixtures (#11355 - @leoromanovsky)
Profiling
- ๐ Bump ddprof to 1.46.0 (#11858 - @jbachorik)
- Add alternative TLS implementation to fix a crash on musl/aarch64 by @zhengyu123 in DataDog/java-profiler#600
- Don't preload jmethodIDs when cstack=vm with hotspot JVM by @zhengyu123 in DataDog/java-profiler#549
- Scope OTEL ThreadContext storage to the carrier thread (PROF-15271) by @rkennke in DataDog/java-profiler#625
- Close two TOCTOU races between SIGPROF handler and JFR lifecycle by @r1viollet in DataDog/java-profiler#614
- ๐ Request carrier-scoped ddprof context storage on JDK 21+ (#11826 - @rkennke)
- ๐ Restore app context attributes wiped by ddprof setContext on span activation (#11646 - @jbachorik)
- ๐ Publish thread context attribute keys at process start (#11558 - @ivoanjo)
- โจ Add force jmethodID experimental feature support (#11549 - @zhengyu123)
Telemetry
- โจ Migrate SCA Reachability to method-level symbol database (sca-reachability-symbols) (#11614 - @jandro996)
- โจ Fix waf.updates metric success:N/A tag from sequential counter metric values (#11604 - @jandro996)
- โจ Implement SCA Reachability runtime detection: report vulnerable classes and callsites via telemetry (#11352 - @jandro996)
Trace context propagation
- ๐๐ Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- โจ Implement an Org Propagation Guard mechanism (#11289 - @amarziali)
Tracer core
- โจ Introduce api-management inferred proxy spans to Azure (#11804 - @TophrC-dd)
- ๐งน Migrate simple try-with-resources use of
AgentScopetoContextScope(#11763 - @mcculls) - โก๐งน Overhaul set benchmarks: split Immutable / SingleThreaded, add Set.copyOf (#11721 - @dougqh)
- โจ Wire -Pjmh.includes and -PtestJvm into internal-api JMH config (#11703 - @dougqh)
- ๐๐ Fix AppSec/IAST context dropped when trace.propagation.behavior.extract=ignore/restart (#11666 - @dougqh)
- โจ Update jnr-unixsocket dependency to 0.38.25 (#11615 - @mcculls)
- โจ Update dd-instrument-java dependency to v0.0.4 (#11567 - @mcculls)
- โจ Update byte-buddy dependency to 1.18.10 (#11565 - @mcculls)
- โจโก Pre-construct TagMap.Entry objects in InternalTagsAdder (#11555 - @dougqh)
- ๐ Fix JDBC URL parsing crash when no port specified (#11550 - @ValentinZakharov)
- ๐ Build DatadogClassLoader resource URL from agent jar URL, not OS path (#11480 - @dougqh)
- โจ Include advice class name in instrumentation exception handler log (#11457 - @amarziali)
- โจโก Use
TagMap.setinCoreTracer(#11106 - @dougqh) - ๐โก List iteration benchmark (#10888 - @dougqh)
- ๐โก Atomics benchmark (#10862 - @dougqh)
- โจโก Adding lighter String processing methods to Strings (#10640 - @dougqh)
Tracer public API
- ๐กโ ๏ธ Translate a
sampling.prioritytag set to a positive value toforceKeep(#11621 - @mcculls) - ๐ Fix DDTraceId/DD64bTraceId class-initialization deadlock (#11509 - @bm1549)
Instrumentations
Apache HttpComponents
Apache Spark instrumentation
Armeria Instrumentation
- ๐ Fix Ameria 1.40 instrumentation compatibility (#11827 - @vandonr)
- โจ Ignore capturing connection continuation for armeria (#11657 - @amarziali)
AWS Lambda instrumentation
- ๐ Don't add empty headers on lambda completion (#11551 - @amarziali)
AWS SDK instrumentation
Azure Functions instrumentation
- โจ Introduces the api-management inferred proxy spans to Azure (#11804 - @TophrC-dd)
Core Java language instrumentation
- โจ Avoid leaking continuations on jdk-http-client (#11557 - @amarziali)
Eclipse Vert.x instrumentation
JAX-RS instrumentation
- โจ Avoid leaking continuations on internal rxjava schedulers (#11540 - @amarziali)
JDBC instrumentation
- ๐๐ Fix password leak from JDBC URL (#11568 - @ValentinZakharov)
- ๐ Fix JDBC URL parsing crash when no port specified (#11550 - @ValentinZakharov)
- ๐ Fix IAST JDBC instrumentation when getMetadata throws non-SQLException (#11420 - @smola)
Kafka instrumentation
- ๐ Add safe extraction for malformed base64 kafka headers (#11472 - @amarziali)
Lettuce instrumentation
- ๐ Fix Redis command span decoration to resolve node connection for master-replica providers in Lettuce 5+ (#11819 - @ygree)
- ๐ Fine tune async propagation for lettuce 5 (#11607 - @amarziali)
Netty instrumentation
- โจ Do not capture continuation on netty GlobalEventExecutor static init (#11654 - @amarziali)
- ๐ Fix continuation leakage on netty http2 client pipeline (#11595 - @amarziali)
Reactor instrumentation
- ๐งน Make reactor-core / reactive-streams context propagation Context-first (#11578 - @amarziali)
Servlet instrumentation
- ๐ Fix StackOverflowError in caused by missing re-entrancy guard (#11838 - @ValentinZakharov)
- ๐ Tolerate servlet 2.x wrappers used on servlet-3 classpath for isAsyncStarted calls (#11542 - @amarziali)
Spring instrumentation
- โจ Drop the duplicate handler resolution in Spring Web 6 instrumentation (#11533 - @amarziali)
- ๐ Build DatadogClassLoader resource URL from agent jar URL, not OS path (#11480 - @dougqh)
All other instrumentations
- โจ Add RxJava 3 instrumentation (#11849 - @ValentinZakharov)
- โจ Support proper async propagation for GAX retrying futures (#11629 - @amarziali)