Releases: DataDog/dd-trace-java
1.57.0
Components
Application Security Management (IAST)
- π Fix IllegalFormatConversionException StringModuleImpl#onStringFormat (#9907 - @jandro996)
Application Security Management (WAF)
- π Fix API Security sampling in standalone mode (#10165 - @jandro996)
- β¨ AI Guard - Ensure messages are not modified before span serialization (#10116 - @manuel-alvarez-alvarez)
Build & Tooling
- β¨ Remove native libraries for unsupported environment (#10079 - @PerfectSlayer)
Configuration
- π Using stable config when a security manager is enabled should not prevent tracer startup (#10006 - @amarziali)
Continuous Integration Visibility
- β¨ Add support for Weaver Framework v0.11 (#10012 - @daniel-mohedano)
Crash Tracking
- π Don't send crash-ping to error tracking if not enabled (#10170 - @amarziali)
- β¨ Improve OOM parsing for Zulu8 (#10038 - @amarziali)
- β¨ Store some crashtracking options on initialisation (#10036 - @amarziali)
- β¨ Dual ship to error tracking (#10000 - @amarziali)
Data Streams Monitoring
- π Fix Kafka consumer instrumentation (#10100 - @piochelepiotr)
Dynamic Instrumentation
- π Fix metric expressions with
@return(#10178 - @jpbempel) - π§Ή fix method reference in comment (#10101 - @andreimatei)
- β¨ Make SymbolDB stand alone (#10064 - @jpbempel)
- π Make Code Origin fingerprint map concurrent (#10043 - @jpbempel)
- π Disable CodeOrigin by default (#10027 - @jpbempel)
- πβ‘ Avoid expensive
Class.getMethodcall in code-origin advice (#10019 - @mcculls)
Metrics
- β¨β‘ Avoid getTag overhead in ConflatingMetricsAggregator (#10070 - @amarziali)
- π Only enable client side stats if the host agent is at least 7.65.0 (#10041 - @bric3)
Platform
- β¨ Improve support for virtual thread detection (#9852 - @PerfectSlayer)
Profiling
- β¨ Bump ddprof-java to 1.34.4 (#10097 - @jbachorik)
- π Fix deadlock in dd-task-scheduler (#10096 - @rkennke)
Realtime User Monitoring
- π Filter setContentType headers (#10150 - @amarziali)
- π Prevent any Content-Length header from being set upon injection (#10081 - @amarziali)
Telemetry
- β¨ Don't send OutOfMemoryError to the telemetry (#10211 - @amarziali)
Trace context propagation
- β¨ Add context tracking support for virtual threads (#10040 - @PerfectSlayer)
Tracer core
- β¨ Don't send IO failures to telemetry logs (#10210 - @amarziali)
- π Avoid NPE on BaseDecorator (#10209 - @amarziali)
- β¨β‘ Support
aot_trainingmode to be used when creating AOT caches (#10166 - @mcculls) - β¨β‘ Optimize TagMap lookup & insertion for String literals (#10138 - @dougqh)
- π Remove colons from process tags values (#10109 - @vandonr)
- π Fix field-injection of ForkJoinTask on Java 25 (#10084 - @mcculls)
- β¨β‘ Use
ClassLoaderValues to track class-loader state (#10075 - @mcculls) - β¨β‘ Add primitive setters to DDSpanContext to take advantage of TagMap (#10018 - @dougqh)
- π Safely handle Files.exist on discovery and config when a Security Manager is present (#10009 - @amarziali)
- β¨β‘ Avoid SpanBuilder allocation for startSpan (#9998 - @dougqh)
- β¨ Add request-id to lambda start/end invocation calls (#9991 - @ojproductions)
- β¨β‘ Use
ClassLoaderIndexto index class-loader related information (#9980 - @mcculls) - β‘π§Ή Use
ClassNameFilterto track uninteresting classes (#9976 - @mcculls) - β¨β‘ Reduce PendingTrace Lock Contention (#9932 - @dougqh)
- β¨ Remove dependency on
memfd_createfor service discovery (#9913 - @raphaelgavache)
Instrumentations
Apache Spark instrumentation
- π Support Spark 4.1 by removing mention to StreamExecution class (#10228 - @aboitreaud)
- β¨ Duplicate service name in meta so it's not truncated in spark integration (#10063 - @aboitreaud)
- β¨ Add dd_tags into djm.tags spark.application span attribute (#10004 - @pawel-big-lebowski)
AWS SDK instrumentation
- π‘ Add inject Datadog attribute config (#9943 - @ojproductions)
Core Java language instrumentation
- β¨ Add context tracking support for virtual threads (#10040 - @PerfectSlayer)
JDBC instrumentation
- π Log injection issues in JDBC only once + promote to WARN (#10214 - @vandonr)
- π‘ Add a feature flag to disable extra calls to the DB in JDBC instrumentation (#9774 - @vandonr)
Kafka instrumentation
- π Fix Kafka consumer instrumentation (#10100 - @piochelepiotr)
- π Extract trace context from Kafka producer record headers (#10020 - @PlugaruT - thanks for the contribution!)
Servlet instrumentation
- π Avoid NPE when enumerating servlet headers (#10213 - @amarziali)
Spring instrumentation
- π Make spring-webflux instrumentation compatible with 7.0.0 (#10110 - @amarziali)
All other instrumentations
- π Avoid NPE on QuartzDecorator (#10181 - @amarziali)
- π Avoid NPE when setting resource with null path (#10180 - @amarziali)
- π Fix
VerifyErrorwhen instrumentingorg.apache.synapse.transport.passthru.SourceHandler(#10154 - @mcculls) - π Ensure compatibility with jboss modules 2.2 (#10111 - @amarziali)
1.56.3
Components
Profiling
- β¨ Bump ddprof-java to 1.34.4 (#10153 - @jbachorik)
(see DataDog/java-profiler@v_1.34.0...v_1.34.4 for details)
Instrumentations
JDBC instrumentation
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.
If you are using the liveheap profiler functionality you may experience occasional JVM crashes. In case you see the crashes happening disable the profiling library via DD_PROFILING_DDPROF_ENABLED=false environment variable or the -Ddd.profiling.ddprof.enabled=false. The fix fix is available in release 1.56.3.
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
Known Bugs
Note
If you are using the liveheap profiler functionality you may experience occasional JVM crashes. In case you see the crashes happening disable the profiling library via DD_PROFILING_DDPROF_ENABLED=false environment variable or the -Ddd.profiling.ddprof.enabled=false. The fix fix is available in release 1.56.3.
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
- π Take defensive copy of original scope stack when restoring on different thread (#9403 - @mcculls)
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)