github DataDog/dd-trace-java v1.61.0
1.61.0

14 hours ago

Components

Application Security Management (IAST)

  • πŸ› Skip XSS check for freemarker built-in escaping expressions in 2.3.24 instrumentation (#10865 - @jandro996)

Application Security Management (WAF)

  • ✨ Add server.request.body.filenames support for Tomcat and Netty 4.1 (#10973 - @jandro996)
  • ✨ Add server.request.body.filenames AppSec address for commons-fileupload (#10949 - @jandro996)
  • ✨πŸ§ͺ Return AIβ€―Guard SDS findings into SDK Response (#10821 - @obordeau)
  • πŸ› Fix ObjectIntrospection exposing JDK internal toString() to the WAF (#10820 - @jandro996)
  • ✨ Honor in-app blocking settings by default in AI Guard evaluate (#10818 - @smola)
  • πŸ› Fix HttpEndpointPostProcessor incorrectly overwriting span resource name (#10754 - @jandro996)
  • ✨ Add http.status_code, error, and http.useragent to inferred proxy spans (#10749 - @jandro996)
  • πŸ› Fix content-type extraction for akka-http (#10742 - @jandro996)
  • ✨πŸ§ͺ Attach SDS findings to ai_guard spans (#10721 - @obordeau)
  • πŸ› Fix missing http.response.headers.content-type span tag on blocking responses (#10711 - @jandro996)
  • πŸ› Fix AWS API Gateway endpoints correlation HTTP span tags - Inferred Proxy Spans (#10561 - @jandro996)

Configuration

  • ✨ Guarantee OTel Configs to run through ConfigHelper (#11057 - @mhlidd)
  • ✨ Update supported-configurations.json w/ Missing Configs (#11046 - @mhlidd)
  • ✨ Update JUnit Tests to run with STRICT_TEST mode by default (#11045 - @mhlidd)
  • ✨ Update ConfigHelper to throw error in STRICT_TEST mode and capture undocumented Configs (#11031 - @mhlidd)

Continuous Integration Visibility

Crash Tracking

  • ✨ Feature flag crashtracking extended info, and improve runtime args filtering (#11048 - @bric3)
  • πŸ› Unset ld_preload and dyld_insert_libraries for crashtracker child JVM (#11041 - @gyuheon0h)
  • ✨ Report JVM argument flags for crash tracking (#11013 - @bric3)
  • ✨ Reports loaded libraries in crashtracking reports (#11000 - @bric3)
  • πŸ›βœ¨ Add crashtracking addresses and error thread name (#10984 - @bric3)
  • ✨ Properly handle OpenJ9 crash report (#10976 - @bric3)
  • πŸ› Fix crashtracking siginfo missed some information (#10907 - @bric3)
  • πŸ› Change error tracking crashtracker source (#10848 - @amarziali)
  • πŸ› Unset inherited JVM env vars in crashtracking scripts (#10819 - @jbachorik)

Database Monitoring

Dynamic Instrumentation

Logs Product

  • πŸ› Fix check raw file injection smoke test (#10920 - @bm1549)

ML Observability (LLMObs)

  • ✨ Propagate global dd_tags to LLMObs span tags (#10978 - @ygree)
  • πŸ› Fix openai-java payload mapping for responses, tool metadata, and prompt tracking (#10644 - @ygree)

Metrics

OpenFeature

Platform

Profiling

Telemetry

  • ✨ Update Environment Variable Normalization to not add DD prefix for OTel Configs (#11044 - @mhlidd)
  • πŸ› Report dd-java-agent itself as a Maven dependency in SCA telemetry (#10975 - @jandro996)
  • ✨ Add stable session ID headers to telemetry requests (#10914 - @khanayan123)
  • ✨ Update Telemetry Key Normalization to Use Environment Variables (#10823 - @mhlidd)
  • ✨⚑ Replace Objects.hash with HashingUtils.hash in telemetry (#10813 - @dougqh)
  • ✨⚑ Reduce allocation overhead of ExceptionLogger / LogCollector (#10684 - @dougqh)

Testing

Trace context propagation

Tracer core

  • ✨ Use TagMap.set in CoreTracer tracer tags (#11004 - @dougqh)
  • ✨⚑ Replace interceptors ConcurrentSkipListSet with priority ordered copy on write "list" (#11002 - @dougqh)
  • ✨⚑ Cache Tracer Host Entry to reduce allocation in RemoteHostnameAdder (#10968 - @dougqh)
  • ✨ Add ObjectInputStream.readObject to forbidden apis (#10952 - @dougqh)
  • ✨ Add ParentBasedAlwaysOnSampler as default sampler for OTLP trace export mode (#10915 - @mtoffl01)
  • πŸ› Handle the case the info response does not contain endpoints / empty (#10838 - @amarziali)
  • ✨⚑ Use forEach to avoid Iterator allocation (#10830 - @dougqh)
  • ✨⚑ Avoid ArrayList copying from TraceInterceptors (#10828 - @dougqh)
  • ✨⚑ Avoid creation of empty CopyOnWriteArrayList for span links (#10822 - @dougqh)
  • ✨ Update BaseHash when process tags are updated (#10809 - @amarziali)
  • ✨ Add _dd.p.ksr propagated tag for Knuth sampling rate (#10802 - @bm1549)
  • ✨ Add capped sampling rate increases (#10715 - @raphaelgavache)
  • ✨⚑ Avoid boxing by using TagMap.set in PayloadTagsProcessor (#10964 - @dougqh)
  • ✨πŸ§ͺ Add tracing support for native method calls via Java FFM API (#10718 - @amarziali)

Tracer internal logging

  • ✨ Add app log collection config value in toString (#10725 - @jpbempel)

Instrumentations

Apache Spark instrumentation

  • πŸ› Fix EMR Spark support by using Seq instead of ArrayBuffer for externalAccums (#10987 - @aboitreaud)
  • πŸ› Fix spark application spans status on sql analysis failure (#10981 - @aboitreaud)
  • πŸ› Fix sql plan nodes order causing test flakiness (#10911 - @aboitreaud)
  • πŸ› Fix flaky test assertion by normalizing column ref and plan_id num (#10757 - @aboitreaud)
  • ✨ Capture time app-related metrics for launchers (#10708 - @aboitreaud)
  • πŸ› Remove Wrong Spark Spans for Inactive Databricks Clusters (#10651 - @larakulkarni1)
  • ✨ Store accumulator-stage lookups directly (#10645 - @charlesmyu)
  • ✨ Track external accumulators in tracer instead of using SparkInfo values (#10553 - @charlesmyu)

Armeria Instrumentation

  • πŸ› Report gRPC status code in client-computed stats (#10805 - @bric3)

AWS SDK instrumentation

  • πŸ› Inject APM trace headers into SQS _datadog message attribute on send (#10843 - @ygree)

Core Java language instrumentation

gRPC instrumentation

  • πŸ› Report gRPC status code in client-computed stats (#10805 - @bric3)

JDBC instrumentation

  • πŸ› Avoid IndexOutOfBound when parsing dbInfo without host (#10835 - @amarziali)
  • ✨⚑ Replace Objects.hash with HashingUtils in DBInfo (#10783 - @dougqh)

Kafka instrumentation

OpenTelemetry instrumentation

  • πŸ’‘ Support sending OpenTelemetry metrics over OTLP (http/protobuf) (#11055 - @mcculls)

Spring instrumentation

  • πŸ› Fix Spring messaging Kotlin async aware instrumentation (#11047 - @ygree)
  • ✨ Support CompletableFuture on Spring Messaging Spans (#10979 - @mhlidd)

All other instrumentations

  • 🧹 Separate context tracking from tracing on http client instrumentations (#10782 - @amarziali)
  • 🧹 Split tracing and context tracking in server and messaging integrations (#10767 - @amarziali)

Don't miss a new dd-trace-java release

NewReleases is sending notifications on new releases.