Breaking Changes
Note
Manually overriding a sampling decision now always overrides the decision maker tag for future distributed trace propagation.
Components
Application Security Management (WAF)
- ✨🧪 Add support for content parts and image URLs in AI Guard (#10449 - @smola)
- ✨ Analyze okhttp client redirections as separated request (#10252 - @manuel-alvarez-alvarez)
Continuous Integration Visibility
- ✨ Use component as framework tag in manual API (#10313 - @daniel-mohedano)
Crash Tracking
- ✨ Strip temp suffix from known library names (#10335 - @amarziali)
Data Streams Monitoring
- 🐛 Avoid NPE on DSM context extraction (#10491 - @amarziali)
- 🐛 Fix DSM queue names with Kafka Connect IBM MQ connectors (#10318 - @johannbotha)
- ✨ Initial version of transactions tracking implementation for DSM (#9899 - @kr-igor)
Dynamic Instrumentation
- 🐛 Fix SymDB startup (#10493 - @jpbempel)
- ✨ Enable Code Origin by default for JDK21+ (#10468 - @jpbempel)
- 🐛 Avoid throwing exception for invalid modifiers (#10458 - @jpbempel)
- 🐛 Fix SymDB when processing corrupted jars (#10453 - @jpbempel)
- ✨ Add support of Kotlin's SourceDebugExtension (#10448 - @jpbempel)
- 🐛 Fix debugger start when endpoints aren't available (#10401 - @jpbempel)
- 🐛 Fix NullPointerException when scope failure (#10333 - @jpbempel)
- 🐛 Fix exceptions raised from Collection values (#10322 - @jpbempel)
- 🐛 fix NullPointerException in ClassesToRetransformFinder (#10316 - @jpbempel)
- 🐛 Fix ArrayOutOfBoundsException in ER sanity checks (#10314 - @jpbempel)
- 🐛 fix Capture Expressions for line probes (#10303 - @jpbempel)
Library Injection
ML Observability (LLMObs)
- 🐛 Fix LLMObs trace batching and payload size telemetry (#10395 - @ygree)
- 🐛 Avoid sending empty payloads to the LLMObs endpoint (#10372 - @ygree)
- 💡 Add openai-java v3.0+ instrumentation (#9959 - @ygree)
Metrics
- 🧹 Extract metrics from communication (#10399 - @PerfectSlayer)
OpenFeature
- 🐛 Add test case for OF.7: empty targeting key compliance (#10445 - @leoromanovsky)
- 🐛 Bump OpenFeature SDK to 1.20.1 (#10438 - @leoromanovsky)
- 🐛 Fix ISO 8601 date parsing to support variable precision (#10419 - @leoromanovsky)
Profiling
- ✨ Bump ddprof to 1.37.0 (#10487 - @jbachorik)
(see DataDog/java-profiler@v_1.34.4...v_1.37.0 for details) - 🐛 Should not access the thread states of none Java threads by @zhengyu123 in DataDog/java-profiler#346
- 🐛 Add alignment checks to NativeFunc mark methods by @jbachorik in DataDog/java-profiler#348
- ✨ Log profiler flare messages at WARN level (#10444 - @jbachorik)
- 🐛 Allow running wallclock profiler even without tracer (#10298 - @jbachorik)
Trace context propagation
Tracer core
- ✨ Add process tags related to service naming (#10480 - @amarziali)
- ✨⚡ Avoid primitive boxing in v0.5 serializer (#10471 - @dougqh)
- ✨ Add safety check for TargetSystem encoding limits (#10451 - @amarziali)
- ✨ Compute basehash without allocating a stringbuilder (#10411 - @vandonr)
- ✨⚡ Avoid primitive boxing in v0.4 serializer (#10408 - @dougqh)
- ✨ Introduce @AppliesOn to override advices InstrumenterModule target system (#10404 - @amarziali)
- ✨⚡ Introducing TagMap EntryReader (#10339 - @dougqh)
- 🐛 Ledger.reset should reset containsRemoval status (#10338 - @dougqh)
- ✨ Service discovery: defer FFM methodhandles resolutions (#10312 - @amarziali)
- ✨ Use pure FFM to write on service discovery memfd from java 22 (#10295 - @amarziali)
- ✨⚡ Enabling optimized map by default (#10016 - @dougqh)
- ✨ Replace JCTools queues with VarHandle-based implementations for Java 25+ (#9896 - @amarziali)
Tracer internal logging
Instrumentations
Eclipse Vert.x instrumentation
GraphQL instrumentation
- 🐛 Add Custom Exception Handler to Unwrap
CompletionExceptionfor GraphQL Instrumentations (#10389 - @mhlidd)
Kafka instrumentation
- 🐛 Fix missing consumer_group and topic tags in DSM Kafka 3.8+ metrics (#10464 - @johannbotha)
- ✨ Use WithTypeStructure to check declaresField (#10307 - @amarziali)
WebSocket Instrumentation
All other instrumentations
- 🧹 Move pure context tracking instrumenter to InstrumenterModule.ContexTracking (#10425 - @amarziali)
- 🐛 Avoid duplicate headers when injecting on java.net http client (#10315 - @amarziali)
- ✨ CICS tracing (#10301 - @deejgregor - thanks for the contribution!)
- 🐛 Avoid null store put on Ignite instrumentation (#10291 - @amarziali)
- 💡 Add openai-java v3.0+ instrumentation (#9959 - @ygree)