Components
Application Security Management (IAST)
- ⚡🧹 Refactor http headers to reduce memory allocations (#6516 - @manuel-alvarez-alvarez)
- Add IAST exclusion for OpenTelemetry SDK package (#6511 - @smola)
- ⚡ Replace string.format calls with regular concatenation (#6510 - @manuel-alvarez-alvarez)
- Add call sites in spring ldap template (#6509 - @manuel-alvarez-alvarez)
- Add IAST exclusion for org.openjdk.jol.vm (#6490 - @smola)
- Fix flaky test due to usage of Thread.sleep (#6457 - @manuel-alvarez-alvarez)
- Detect servlet configuration vulnerabilities with IAST (#6300 - @jandro996)
Continuous Integration Visibility
- Enable flaky tests retries based on remote settings (#6454 - @nikita-tkachenko-datadog)
- Implement flaky tests retries for Scalatest (#6447 - @nikita-tkachenko-datadog)
- Implement flaky test retries for JUnit 4 (#6435 - @nikita-tkachenko-datadog)
- Synchronously flush test session finish event (#6434 - @nikita-tkachenko-datadog)
- Implement flaky test retries for Test NG (#6347 - @nikita-tkachenko-datadog)
Dynamic Instrumentation
- ✨ Add TriageReport for Dynamic Instrumentation (#6519 - @jpbempel)
- Support special case of empty catch block (#6507 - @jpbempel)
- Use java.io.tmpdir for classfile dump directory (#6486 - @jpbempel)
- ✨ Add
@exception
as local var in snapshots (#6480 - @jpbempel) - Rename isUndefined expression to isDefined (#6470 - @jpbempel)
- Enable diagnostics on debugger track (#6462 - @jpbempel)
- 🐛 Fix issue for parsing classes from debugger.symbol (#6455 - @jpbempel)
- Enforce ordering of probe instrumentation (#6444 - @jpbempel)
- Add finally block for
@duration
metric (#6436 - @jpbempel) - Fix support of string primitives for index in EL (#6429 - @jpbempel)
Metrics
- 🔍 Provide summary of JMXFetch for tracer-flare (#6439 - @mcculls)
- 🔍 Tidy up tracer health metrics (#6438 - @mcculls)
- Keep historical tracer health/span counts (#6426 - @mcculls)
- 🔍 Add tracer health and span count summaries to tracer-flare (#6416 - @mcculls)
OpenTracing
- 🧪 Introduce blackhole span (#6326 - @amarziali)
Profiling
- Update the enablement logic for allocation and liveheap (#6492 - @jbachorik)
- add operation label to endpoint events (#6463 - @richardstartin)
- ✨ Proactively cleanup dangling JFR repositories on startup (#6441 - @jbachorik)
- Update ddprof to 0.94.0 (#6433 - @jbachorik)
- Stop collecting jdk.ClassLoadingStatistics (#6538 - @richardstartin)
Telemetry
- Improve telemetry log deduplication (#6525 - @smola)
- Decouple telemetry logs from minimum log level (#6493 - @smola)
- 🐛 Fix Telemetry App-Started event retry that prevents the application from exiting. (#6451 - @ygree)
Trace context propagation
Tracer core
- 🔍 Rename version.txt to tracer_version.txt in tracer-flare (#6532 - @mcculls)
- 🔍 Update Java tracer flare name to be
dd-java-flare-<runtimeId>-<currentTimeMillis>.zip
(#6506 - @mcculls) - 🔍 Add thread-dump to tracer-flare when triage or debug mode is enabled (#6485 - @mcculls)
- 🔍 Support delayed trigger of local triage report (#6479 - @mcculls)
- 🔍 Add Instrumenter metrics to tracer-flare (#6472 - @mcculls)
- 🧪 Introduce blackhole span (#6326 - @amarziali)
Instrumentations
Apache Spark instrumentation
- Add spark SQL plan the spark.stage spans (#6305 - @paul-laffon-dd)
JAX-RS instrumentation
- 🐛 support PATCH and other custom jaxrs annotations (#6471 - @amarziali)
JMS instrumentation
Kafka instrumentation
OpenTelemetry instrumentation
- ✨ Add support for tracestate extraction from OpenTelemetry API (#6362 - @PerfectSlayer)
Trace annotations instrumentation
- 🧪 Introduce blackhole span (#6326 - @amarziali)
All other instrumentations
- ✨ Extract user principal on jakarta servlets 5+ (#6527 - @amarziali)
- ✨ Add missing error tags to process spans (#6489 - @smola)
- 🐛 log4j: preserve mdc when copied and injection is disabled (#6487 - @amarziali)
- Don't create a process span for agent internal threads (#6478 - @bantonsson)
- 🐛 zio: fix context propagation (#6442 - @amarziali)