Releases: DataDog/dd-trace-java
Releases · DataDog/dd-trace-java
1.56.2
Components
Data Streams Monitoring
- 🐛 Fix Kafka consumer instrumentation (#10102 - @piochelepiotr)
Instrumentations
Kafka instrumentation
- 🐛 Fix Kafka consumer instrumentation (#10102 - @piochelepiotr)
1.56.1
1.56.0
Known Bugs
Note
If you are experiencing issues with NegativeArraySizeException or JVM crashes, please update to the latest version or disable the CodeOrigin feature using the DD_CODE_ORIGIN_FOR_SPANS_ENABLED=false environment variable or the -Ddd.code.origin.for.spans.enabled=false Java properties.
Components
Application Security Management (WAF)
- ✨ Add the tags returned by the service to the ai_guard span (#9931 - @manuel-alvarez-alvarez)
- 🐛 Fix thread-safety in AppSecRequestContext derivatives field (#9923 - @jandro996)
Build & Tooling
- ✨ Upgrade byte-buddy to 1.18.1 (#9997 - @sarahchen6)
Configuration
- ✨ Fix AWS request/response payload tagging (#9887 - @ojproductions)
Continuous Integration Visibility
- 🐛 Make test span serialization idempotent (#9456 - @daniel-mohedano)
Crash tracking
- ✨ Simplify the default crashtracker message (#9964 - @amarziali)
- ✨ Handle incomplete crash reports (#9875 - @amarziali)
Data Streams Monitoring
- 💡 Track schema registry usage (#9974 - @piochelepiotr)
Database Monitoring
- ✨⚡ Migrate JDBC instrumentation to singleSpanBuilder (#9927 - @dougqh)
- 🐛 Fix JDBC's SQLCommenter not taking into account semicolons (#9915 - @na-ji)
Dynamic Instrumentation
- ✨ Add support for DD_THIRD_PARTY_DETECTION_* (#9963 - @jpbempel)
- ✨ Remove limits of 100 max probes (#9962 - @jpbempel)
- ✨ Make Code Origin for Spans default on (#9873 - @jpbempel)
ML Observability (LLMObs)
- 🐛 Set unified service tags on llm obs span start (#9935 - @gary-huang)
Metrics
- 🐛 Fix npe on ConflatingMetricsAggregator when the resource is null (#9909 - @amarziali)
OpenFeature
- ✨ Implementation of the open feature SDK in the java tracer (#9885 - @manuel-alvarez-alvarez)
Platform
Profiling
- ✨ Provide a safe default stackwalker for non-hotspot JVMs (#9930 - @jbachorik)
- 🐛 Apply critical patch for ddprof dependency. (#9920 - @jbachorik)
Tracer core
- ✨⚡ Fix oversight with one overload of startSpan not using singleSpanBuilder (#9995 - @dougqh)
- ✨⚡ Use
ClassFileparser when pre-loading class hierarchies (#9969 - @mcculls) - ✨ Bump dd-instrument-java to v0.0.3 (#9967 - @mcculls)
- ✨ Add process tags to agent statsd client (#9904 - @amarziali)
- ✨⚡ Add feature-flag to enable instrumentation-based class injection (#9901 - @mcculls)
- ✨⚡ Add feature-flag to enable optimized class parsing (#9894 - @mcculls)
Instrumentations
Apache Spark instrumentation
- ✨ Add SparkPlanInfo constructor compatible with Databricks' Spark fork (#9888 - @charlesmyu)
- ✨ Add Databricks support (#9877 - @pawel-big-lebowski)
Couchbase
Kafka instrumentation
- 💡 Track schema registry usage (#9974 - @piochelepiotr)
OpenTelemetry instrumentation
- 💡 Support propagating OTel API created baggage via outgoing W3C headers (#9987 - @mcculls)
- 💡 Support using the OpenTelemetry API to interact with automatic W3C baggage (#9982 - @mcculls)
- ✨ In opentelemetry's WithSpan integration, reuse SpanBuilders (#9933 - @dougqh)
Serverless
- ✨ Enable Inferred Proxy Span Support (#9958 - @zarirhamza)
1.55.0
Components
Application Security Management (IAST)
- 🐛 Fix NullPointerException in ApplicationModuleImpl (#9879 - @jandro996)
- 🐛 Fix issue with call sites on constructors without DUP bytecode (#9698 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- 🐛 Fix NullPointerException in ObjectIntrospection (#9878 - @jandro996)
- 🐛 Rename request body sample rate config variable (#9791 - @manuel-alvarez-alvarez)
- 🐛 Ensure blocking exceptions are propagated for SSRF (#9790 - @manuel-alvarez-alvarez)
- ✨ Add support for API Security Custom Data Classification (#9710 - @jandro996)
- ✨ Update telemetry tags in API10 (#9708 - @manuel-alvarez-alvarez)
- ✨ Upgrade libddwaf to 17.1.0 (#9486 - @sezen-datadog)
Build & Tooling
- 🧹 Make
akka-http-10.6module optional to simplify local build. SeeBUILDING.mdfor akka token configuration. (#9767 - @AlexeyKuznetsov-DD)
Continuous Integration Visibility
- 🐛 Fix NullPointerException in Jacoco coverage report merge logic (#9803 - @nikita-tkachenko-datadog)
- ✨ Bump default Jacoco version used by Test Optimization to 0.8.14 (#9738 - @nikita-tkachenko-datadog)
- ✨ Add config source reading from Test Optimization remote environment (#9701 - @nikita-tkachenko-datadog)
- ✨ Lower logging level for RepoIndex error (#9697 - @daniel-mohedano)
Crash tracking
- ✨ Send ping message (#9804 - @amarziali)
- 🐛 Improve OS version parsing (#9785 - @amarziali)
- 🐛 Use arrays for tags and send data schema version (#9763 - @amarziali)
- ✨ Extract library name and address from native error reports (#9721 - @amarziali)
- ✨🧹 Forward wellknown runtime and process tags in crash reports (#9719 - @amarziali)
- ✨ Add origin header to crashtracking telemetry (#9685 - @amarziali)
Data Streams Monitoring
Database Monitoring
Dynamic Instrumentation
- 🐛 Fix logging when uninstrumenting cannot happen (#9851 - @jpbempel)
- ✨ Extract line information as injectible lines (#9850 - @jpbempel)
- ⚡🧹 Optimize method probe without condition (#9834 - @jpbempel)
- 🐛 Fix trigger probe and tests (#9828 - @jpbempel)
- ⚡🧹 Optimize line probe without condition (#9787 - @jpbempel)
- 🐛 Fix possible IndexOutOfBoundsException in ExceptionReplay (#9771 - @jpbempel)
- ✨ Add support for Guava and FastUtil (#9727 - @jpbempel)
- ✨ Add Capture Expressions (#9694 - @jpbempel)
- 🐛 Truncate large exception message when serialized (#9686 - @jpbempel)
- 🐛 Throttle warning log when resolving probe (#9675 - @jpbempel)
JMX fetch
- ✨ Clean up JMXFetch job on thread interrupt (#9788 - @PerfectSlayer)
ML Observability (LLMObs)
- 🐛 Limit writer logs only when LLMObs is enabled (#9781 - @daniel-mohedano)
- 🐛⚡ Fix CPU overhead in LLMObs eval processor (#9765 - @XG-xin)
Metrics
- ✨ Drop rare sampling support on CSS (#9776 - @amarziali)
- 🐛 Fix client stats payload (#9743 - @amarziali)
- ✨ Avoid calculating stats if dropping is disabled (#9742 - @amarziali)
- ✨ Enable client side stats by default (#9740 - @amarziali)
Profiling
- 🐛 Bump ddprof to 1.34.0 (#9865 - @zhengyu123)
- 🐛 Keep generic signature aligned when adding
TaskWrapperinterface (#9794 - @mcculls) - 🐛 Protect exception advices from NoClassDefFound (#9769 - @amarziali)
- ✨ Use 'vm' stackwalker as default for java profiler (#9722 - @jbachorik)
Tracer core
- 🧹 Simplify InstanceStore API (#9861 - @mcculls)
- ✨ 🪞 9757 - Avoid pending queue wedge if tracer flare is generated multiple times (#9840 - @deejgregor - thanks for the contribution!)
- ✨ Add span builder reuse variable (#9839 - @dougqh)
- ✨ Disambiguate normalizeTag from normalizeTagValue (#9816 - @amarziali)
- 🐛 Protect intercepted null traces from NPE (#9797 - @amarziali)
- ✨ Safely set context classloader on final blocks (#9795 - @amarziali)
- ✨⚡ Add quick 'datadog.' prefix check before applying delegation fix (#9793 - @mcculls)
- ✨ Include dd-instrument-java (#9792 - @mcculls)
- 🐛 Avoid UnsatisfiedLinkError when constructing statsd client (#9789 - @amarziali)
- ✨ Use common method to determine telemetry intake url (#9786 - @amarziali)
- ✨ Exclude safeParse errors from telemetry (#9770 - @amarziali)
- ✨ Simplify InstanceStore implementation to use simple, synchronized HashMaps (#9739 - @mcculls)
- ✨ Add support for service discovery using JNA (#9705 - @raphaelgavache)
- 🧹 Replace jctools NonBlockingHashMap with ConcurrentHashMap (#9700 - @amarziali)
- ✨ Upgrade byte-buddy to 1.17.7 (#9692 - @mcculls)
- ✨ Upgrade asm to 9.9 (#9684 - @amarziali)
- ✨⚡ Create shared DD intake HTTP client (#9660 - @nikita-tkachenko-datadog)
- ✨ Introduce NativeLoader (#9625 - @dougqh)
- ✨ Migrate querying of environment variables to
ConfigHelper(#9620 - @mhlidd) - ✨⚡ Reuse SpanBuilder within a Thread (#9537 - @dougqh)
Tracer public API
- ✨ Migrate querying of environment variables to
ConfigHelper(#9620 - @mhlidd) - ✨📖 Implement Config Inversion with default strictness of
Warning(#9539 - @mhlidd)
Instrumentations
Apache Spark instrumentation
- 🐛 Fix muzzle mismatch causing Spark jobs on Databricks 17.3 to not be instrumented (#9872 - @aboitreaud)
- ✨ Extract SparkPlan product and append to trace (#9783 - @charlesmyu)
JDBC instrumentation
- 🐛 Avoid NPE while accessing JDBC metadata URL (#9815 - @amarziali)
- ✨ Add option to JDBC instrumentation to always append DBM comment (#9798 - @na-ji)
- 🐛 Fix generic url parsing in JDBC instrumentation (#9777 - @vandonr)
OpenTelemetry instrumentation
- 🐛 Fix OpenTelemetry span events (#9864 - @ValentinZakharov)
- 🐛 Normalize behavior of OTel spans created from custom instrumentation and trace annotations (#9759 - @mhlidd)
- ✨ Avoid allocating a tracing context when not fully extracted (#9693 - @amarziali)
All other instrumentations
- 🐛 Avoid NPE on FinatraInstrumentation (#9760 - @amarziali)
1.54.0
Components
Application Security Management (WAF)
- ✨ Implementation of http client request analysis for OkHttp3 (#9654 - @manuel-alvarez-alvarez)
- ✨ Opt-out API Security endpoint discovery (#9623 - @jandro996)
- ✨ Guard parsed-body instrumentation from raw Spring HttpMessageConverters (#9613 - @jandro996)
- ✨ Add downstream HTTP request/response analysis for OkHttp2 client (#9572 - @manuel-alvarez-alvarez)
- ✨ Update Extended appsec request/response headers and request body collection (#9428 - @jandro996)
- ✨ Add new features for trace tagging rules (#9131 - @sezen-datadog)
Configuration at Runtime
Continuous Integration Visibility
- 🐛 Fix fallback ExecutionRequest creator in JUnit 5 instrumentation (#9673 - @daniel-mohedano)
- ✨ Add support for JUnit 5.14 (#9664 - @daniel-mohedano)
- ✨ Minor fixes for code coverage report upload (#9659 - @nikita-tkachenko-datadog)
- ✨ Add session level metrics for Failed Test Replay (#9531 - @daniel-mohedano)
- 🐛 Set correct subdomain when sending intake requests via EVP proxy (#9517 - @nikita-tkachenko-datadog)
- ✨ Add support for JUnit 6 (#9509 - @nikita-tkachenko-datadog)
- 🐛 Fix test status propagation in headless mode (#9478 - @nikita-tkachenko-datadog)
- 🐛 Fix JUnit 5 Cucumber instrumentation for version 7.28.1 (#9474 - @nikita-tkachenko-datadog)
- ✨ Implement Failed Test Replay (#9214 - @daniel-mohedano)
Crash tracking
- 🐛 Properly handle user provided crash/oome script paths (#9496 - @jbachorik)
Dynamic Instrumentation
- ✨ Fix Exception Probes to not emit any probe status (#9669 - @jpbempel)
- ✨ Stream the SymDB serialization and compression (#9642 - @jpbempel)
- ✨ Add CompletableFuture in WellKnownClasses (#9622 - @jpbempel)
- 🐛 Fix symbol extraction for interface static method (#9597 - @jpbempel)
- 🐛 Allow pre-Java 6 classes to be transformed in the debugger (#9591 - @deejgregor - thanks for the contribution!)
- 🐛 Disable exit spans (#9581 - @jpbempel)
- ✨ Prevent using v1/input endpoint for snapshots (#9573 - @jpbempel)
- 🐛 Fix error logged for Bridge methods (#9504 - @jpbempel)
- ✨ Send only snapshots to Debugger Track (#9501 - @jpbempel)
- ✨ Add support debugger/v2/input endpoint (#9406 - @shatzi)
GraalVM native-image
- 🐛 Disable process context sharing when using native image (#9647 - @PerfectSlayer)
Library Injection
- ✨ Add
ikeycmdandikeymanutilities fromIBM SDK, Java Technology Editionto exclusion list. (#9482 - @AlexeyKuznetsov-DD) - ✨ Add
UtilityMainfrom Open Liberty to SSI exclusion list. (#9460 - @AlexeyKuznetsov-DD)
ML Observability (LLMObs)
- 🐛 Fix LLM Observability Data Submission (#9476 - @sabrenner)
- ✨ Default LLM Observability ML Application to Service Name (#9415 - @sabrenner)
Metrics
- ✨⚡ Defer metrics aggregator classloading to save startup time (#9590 - @amarziali)
- 🐛 Lazily obtain feature discovery when starting client metrics (#9548 - @amarziali)
- ✨ Exclude long running partial versions from stats (#9495 - @amarziali)
- 🐛 Avoid direct casting of base service tag to string (#9489 - @amarziali)
- 💡🧪 Activate client stats by default for java 17 services (#9463 - @amarziali)
Platform components
- ✨ Improve OS type and architecture detection (#9637 - @PerfectSlayer)
Profiling
- ✨ Bump ddprof to 1.32.0 (#9584 - @zhengyu123) (Changelog)
- Update process context support with version 0.0.7 of reference library by @ivoanjo in DataDog/java-profiler#268
- Implement 64-bit trace ID system with double-buffered storage and liveness tracking by @jbachorik in DataDog/java-profiler#262
- Thread filter optim by @r1viollet in DataDog/java-profiler#238
- Bypass JDK-8313796 workaround for the fixed JDK versions by @zhengyu123 in DataDog/java-profiler#273
- Relax memory constraint on independent counters by @zhengyu123 in DataDog/java-profiler#275
- ✨ Use the built-in CPU profiler on JDK 25 and Linux (#9502 - @jbachorik)
Realtime User Monitoring
- 🐛 Refactor RUM telemetry (#9526 - @sarahchen6)
Telemetry
- 🐛 Error Logs Remediation 2 (#9467 - @ygree)
- ✨ ConfigProvider iterates over all sources and reports all non-null values to telemetry (#9404 - @mtoffl01)
Testing
- ✨ Fix gradle update pipeline (#9580 - @cbeauchesne)
- 🐛 Fixed git command hangs in case if no remote exists. (#9575 - @AlexeyKuznetsov-DD)
- 🧹 Ensure tracer and scheduler are clean after test execution (#9512 - @amarziali)
Tracer core
- ✨⚡ Send process tags once per payload (#9657 - @amarziali)
- 🧹 Remove tracing requirement to be enabled to generate a flare (#9579 - @cecile75)
- ✨ Replace FixedSizeStripedLongAdder with LongAdder (#9571 - @amarziali)
- ✨ Disable byte-buddy's Nexus mechanism (#9569 - @mcculls)
- 🐛 Ensure health metrics are closed when the tracer is closed (#9511 - @amarziali)
- 💡 Enable process tags collection by default (#9510 - @raphaelgavache)
- 🐛 Ensure info discovery state change is atomic (#9497 - @amarziali)
- ✨⚡ Fixing oversight of missing synchronized on long version of recalibrate (#9480 - @dougqh)
- 🧹 Improving TagMap coverage (#9470 - @dougqh)
- 🐛 Fix NPE for keys with empty value in Stable Configuration (#9461 - @BaptisteFoy)
- 🐛 Update datadog.trace.agent.tooling.bytebuddy.outline.TypeOutline to work with ByteBuddy 1.17.6 (#9457 - @nikita-tkachenko-datadog)
- ✨⚡ Add UTF8 caching for v0.4 (#9434 - @dougqh)
Tracer public API
- ✨🧪 Initial implementation of the AI Guard SDK (#9628 - @manuel-alvarez-alvarez)
- ✨ Migrate tests and
ConfigInversionMetricCollectortoconfig-utilsmodule (#9566 - @mhlidd)
Instrumentations
Apache Spark instrumentation
- ✨ Extract Spark Plan "simpleString" into traces (#9645 - @charlesmyu)
Core Java language instrumentation
- ✨ Add support for Java 25 Structured Concurrency API (#9276 - @PerfectSlayer)
JDBC instrumentation
- ✨ Add a span when waiting for an available database connection from a pool (#9251 #9636 - @deejgregor - thanks for the contribution!)
Kotlin instrumentation
- 🐛 Improve thread-safety of
ScopeContext.restorewhen swapping Kotlin coroutine contexts (#9491 - @mcculls)
All other instrumentations
- ✨ Implementation of http client request analysis for OkHttp3 (#9654 - @manuel-alvarez-alvarez)
- ✨ Add downstream HTTP request/response analysis for OkHttp2 client (#9572 - @manuel-alvarez-alvarez)
- 💡 Resilience4j 2+ (#9525 - @ygree)
- 🐛 Fix ClassCastException in SynapseServerInstrumentation (#9513 - @mcculls)
- 🧹 Refactor Severless Gateway Inferred Span (#9388 - @PerfectSlayer)
1.53.0
Components
Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec (#9355 - @jandro996)
- ✨ Add Forwarded header as a source to client IP resolution (#9310 - @jandro996)
Build & Tooling
- 📖 Update CODEOWNERS (#9294 - @mhlidd)
- ✨ Add dependency on Maven Central deployment to OCI publish jobs (#9204 - @sarahchen6)
Continuous Integration Visibility
- ✨ Upload code coverage reports to Datadog (#9425 - @nikita-tkachenko-datadog)
- ✨⚡ Do not follow symlinks by default when building repository index (#9318 - @nikita-tkachenko-datadog)
- ✨ Improve tag propagation between test event levels (#9278 - @daniel-mohedano)
Data Streams Monitoring
Database Monitoring
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods with generated keys (#9321 - @na-ji)
- ✨ Create container hash tags propagation (#9282 - @ygree)
GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new package (#9337 - @luneo7 - thanks for the contribution!)
Metrics
- 🐛 Add reflect config for CSS and graalvm (#9449 - @amarziali)
- ✨ Align CSS health metrics (#9444 - @amarziali)
- ✨ Aggregate peer tags for consumer span kind (#9442 - @amarziali)
- ✨ Implement health metrics for client stats (#9377 - @amarziali)
- ✨ Add peer tags, span kind and trace root flag to MetricKey bucket (#9178 - @bric3)
Profiling
- ✨ Create a profile flare reporter (requires tracing or CI vis to be enabled) (#9433 - @MattAlp)
- 🐛 Properly fall-back on UDS profiling URL (#9401 - @jbachorik)
- 🐛 Properly handle trace agent IPv6 URL in profiling (#9334 - @jbachorik)
Realtime User Monitoring
- 🐛 Avoid multiple injections on dispatch on jboss (#9392 - @amarziali)
- ✨ Support async servlet for RUM injection (#9333 - @amarziali)
- 🐛 Improve RUM injection matching and avoid truncating responses (#9323 - @amarziali)
- 💡 Add telemetry for the RUM injector (#9267 - @sarahchen6)
- ✨ Make rum injector stream/writer more resilient to errors (#9184 - @amarziali)
Telemetry
- 🐛 Remediate error logs (#9459 - @ygree)
- ✨ Report config_id for Hands Off Config files (#9299 - @mtoffl01)
- ✨ Adding Config Inversion Telemetry component (#9244 - @mhlidd)
Trace context propagation
- 🧹 Migrate instrumentations to Context API (#9384, #9378, #9358 - @PerfectSlayer)
- ✨🔍 Add baggage propagation telemetry (#9289 - @rachelyangdog)
- 🧹 Improve Instrumenter API to use Context instead of Span (#9211 - @PerfectSlayer)
Tracer core
- 💡🧪 Enable process level tags for java 21 applications (#9458 - @amarziali)
- ✨ Move base and peer service adder before span is published (#9408 - @amarziali)
- ✨ Add ErrorPriorities level for manual instrumentation (#9387 - @cecile75)
- ✨ Throw InvalidBooleanValueException in ConfigConverter.booleanValueOf (#9370 - @mtoffl01)
- 🐛 Avoid NPE on featureDiscovery creation (#9353 - @amarziali)
- ✨ Stable Config improvements (#9259 - @mtoffl01)
Instrumentations
gRPC instrumentation
JDBC instrumentation
- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods with generated keys (#9321 - @na-ji)
Kotlin instrumentation
OpenTelemetry instrumentation
1.52.1
Components
Application Security Management (WAF)
- 🐛 Fix NullPointerException log in AppSec (#9356 - @jandro996)
Continuous Integration Visibility
- ✨⚡ Do not follow symlinks by default when building repository index (#9322 - @nikita-tkachenko-datadog)
GraalVM native-image
- 🐛 Update GraalVM config to reflect TempLocationManager's new package (#9338 - @luneo7 - thanks for the contribution!)
Profiling
- 🐛 Properly handle trace agent IPv6 URL in profiling (#9339 - @jbachorik)
Realtime User Monitoring
- ✨ Support async servlet for RUM injection (#9343 - @amarziali)
- 🐛 Improve RUM injection matching and avoid truncating responses (#9342 - @amarziali)
- ✨ Make rum injector stream/writer more resilient to errors (#9340 - @amarziali)
Tracer core
- 🐛 Avoid NPE on featureDiscovery creation (#9354 - @amarziali)
1.52.0
Components
Application Security Management (WAF)
- ✨ Only report ASM_DD, ASM_DATA and ASM capabilities when AppSec is enabled (#9260 - @manuel-alvarez-alvarez)
- 🐛 Fix NPE in AppSecConfigServiceImpl (#9165 - @manuel-alvarez-alvarez)
- 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 (#9160 - @manuel-alvarez-alvarez)
Build & Tooling
Configuration at Runtime
- ✨ Create activation origin config for telemetry (#9064 - @sezen-datadog)
Continuous Integration Visibility
- ✨ Update GitLab provided tags (#9275 - @daniel-mohedano)
- 🐛 Fix base branch SHA usage in GitHub Actions (#9257 - @daniel-mohedano)
- ✨ Add
ci.job.idtag (#9256 - @daniel-mohedano) - ✨ Add new org to Weaver instrumentation (#9235 - @daniel-mohedano - thanks for the contribution!)
- ✨ Improve Git commit info building (#9210 - @daniel-mohedano)
- ✨ Update Attempt to Fix to v5 (#9145 - @daniel-mohedano)
Crash tracking
Data Streams Monitoring
- ✨ Reduce DSM CPU overheard (#9151 - @kr-igor)
- ✨⚡ DSM optimizations for high throughput scenarios (#9137 - @kr-igor)
Database Monitoring
- 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode (#9224 - @lu-zhengda)
Dynamic Instrumentation
- 🐛 Add URI in string primitives (#9285 - @jpbempel)
- ✨ Increase SourceFile tracking max queue size (#9271 - @jpbempel)
- ✨ Add capping on SourceFile tracking queue (#9245 - @jpbempel)
- ✨ Add third-party filtering in SourceFile tracking (#9205 - @jpbempel)
ML Observability (LLMObs)
- ✨ Add methods to capture embedding and retrieval spans (#9297 - @nayeem-kamal)
Metrics
- ✨ Change primary client stats configuration key (#9196 - @amarziali)
- ✨ Calculate client stats also if the span kind is eligible (#9157 - @amarziali)
- ✨ Backpropagate peer tags (#9144 - @bric3)
- 🐛 Make client stats reliable in case of downgrade (#9136 - @amarziali)
Platform components
- 🐛 Fix VM options parsing from /proc/fs (#9255 - @PerfectSlayer)
Profiling
-
✨ Switch profile compression to zstd default (#9293 - @jbachorik)
-
✨ Bump ddprof to 1.29.0 (#9262 - @zhengyu123)
- Potential memory leak and race with the JVMTI wallclock sampler by @zhengyu123 in DataDog/java-profiler#234
- Downport async-profiler no-allocation changes by @zhengyu123 in DataDog/java-profiler#245
- Adopt openjdk safefetch by @zhengyu123 in DataDog/java-profiler#246
- Safe fetch 64-bit value and pointer by @zhengyu123 in DataDog/java-profiler#247
- Rebase on Async-Profiler 4.1 by @jbachorik in DataDog/java-profiler#252
- Patch upstream stackWalker.cpp not to fail on unaligned access by @jbachorik in DataDog/java-profiler#218
- Remap thread id to avoid bitmap contention by @zhengyu123 in DataDog/java-profiler#229
- Improve performance using Unsafe to activate/deactivate thread filter by @zhengyu123 in DataDog/java-profiler#230
- Unify context propagation by @zhengyu123 in DataDog/java-profiler#231
-
🐛 Fix the profiler stackdepth setting propagation in recent (22+) Java versions (#9130 - @jbachorik)
Realtime User Monitoring
- ✨ Wrap servlet original PrintWriter on rum injector (#9146 - @amarziali)
Telemetry
- ✨ Create activation origin config for telemetry (#9064 - @sezen-datadog)
Tracer core
- ✨⚡ Reduce span construction overhead by switching to optimized TagMap (#8589 - @dougqh)
- 🐛 Match Hands Off Config selectors on process_arguments value (#9201 - @paullegranddc)
- ✨ Move JSON generation to sender thread to improve startup time. (#9197 - @AlexeyKuznetsov-DD)
- ✨ Improve agent to avoid loading global config on main thread (#9190 - @PerfectSlayer)
- ✨ Add injection metadata fields to telemetry forwarder (#9185 - @sydney-tung)
- 🐛 Avoid race conditions on feature discovery during Writer creation (#9173 - @daniel-mohedano)
- ✨ Surface potential root cause when agent initialization errors (#9170 - @AlexeyKuznetsov-DD)
- 💡 Support adding W3C baggage as span tags (#9169 - @rachelyangdog)
- ✨⚡ Align our default classloader excludes with OTel (#9161 - @mcculls)
- ✨ Backpropagate container tags hash coming from the info endpoint (#9156 - @amarziali)
- 🐛 Avoid race conditions and multiple agent discovery feature states (#9135 - @amarziali)
Instrumentations
AWS SDK instrumentation
- ✨ Enhance Service Representation for Serverless (#9203 - @zarirhamza)
gRPC instrumentation
JDBC instrumentation
- 🐛 Fix duplicate trace injection for SQL Server and Oracle DBM full propagation mode (#9224 - @lu-zhengda)
Play Framework instrumentation
- 🐛 Fix AppSec play.mvc.StatusHeader instrumentation for play 2.6 (#9160 - @manuel-alvarez-alvarez)
1.51.2
1.51.1
Components
Application Security Management (WAF)
- 🐛 Fix NPE in AppSecConfigServiceImpl (#9172 - @manuel-alvarez-alvarez)
Tracer core
- 🐛 Avoid race conditions on feature discovery (#9175, #9177 - @daniel-mohedano, @amarziali )