Skip to content

Releases: DataDog/dd-trace-java

0.21.0

11 Jan 16:44
Compare
Choose a tag to compare
  • Enhancements
    • Auto-inject Datadog trace-id and span-id keys into slf4j MDC #630
      • Used to add automatic integration with Datadog logs product
      • Feature is disabled by default
      • To enable and use, see Datadog APM Docs
    • Support akka-http 10.1 #638
    • Improve JDBC integration by adding support for callable statement queries #634
  • Fixes
    • Fix regression in springboot+java11 applications #654

0.20.0

13 Dec 18:24
Compare
Choose a tag to compare
  • Enhancements
    • Enable gRPC instrumentation by default. #616
    • Enable priority sampling by default #627
    • Improve HttpUrlConnection instrumentation #613
      • Similar to apache-http client, only one span per request will be generated.
    • Add service name to default jmx tags #626
  • Fixes
    • Fix incorrect throughput reporting with priority sampling #628
    • wildfly startup fixes
      • Fix NoClassDefFoundError #621
      • Prevent tracer from setting wildfly's global logger #625
        • Note: logger bug and fix only affects jmx beta users
    • Remove duplicate JMS spans from nested calls. #612
    • Fixes memory leak in WeakMapSuppliers.WeakConcurrent #619

0.19.0

30 Nov 21:51
Compare
Choose a tag to compare

Enhancements

  • Support for Vert.x-web+rxjava: #564

Fixes

  • Stop wrapping runnables in executor instrumentation implementation: #564
    • Reflection error message is no longer printed in java 9+: WARNING: An illegal reflective access operation has occurred
  • Prevent Rabbitmq instrumentation from eating exceptions: #604
    • Additional Rabbitmq error guarding: #607
  • Remove benign debug-level message "QueueFullException" logged from ThreadPoolExecutorInstrumentation: #600
  • Improve netty concurrency edge-cases: #587

0.18.0

17 Nov 01:35
Compare
Choose a tag to compare
  • Enhancements

    • Add error-reporting for Kotlin GRPC #555
    • Add support for DD_TRACE_AGENT_PORT setting #584
    • Improve component tag reporting #578
    • Log Java and JVM version info. #565
  • Fixes

    • Reintroduce DDTracer constructor removed in 0.17.0 #579
    • Report correct throughput for tracers with high throughput. #571
    • Fix bug for servlets using async dispatch #582
      • Note: Said bug sometimes caused performance issues for servlet users.
    • Fix bug where Mssql traces would not report. Also improve debug logging around JDBC errors. #559 #557

0.17.0

24 Oct 00:16
Compare
Choose a tag to compare

Instrumentation

  • New Instrumentation:
    • Rabbit AMQP #535
    • Dropwizard Views #529
  • Existing instrumentation now enabled by default:

Improvements

  • Official support for Java 11 #480
  • Include JMXFetch collection in dd-java-agent #505 #543
    • This allows metrics to automatically be collected and reported without the need to expose JMX to the datadog agent.
    • Disabled by default. Use the following system property to enable: -Ddd.jmxfetch.enabled=true
  • Upgraded Byte Buddy to 1.9.2 #540
  • Allow instrumenting Sun JMS clients #520
  • Extend support for Apache HTTP Client to 4.0+ #521
    • Reduce extra spans
    • Support non-builder style usage
  • Added tests for Vert.x #536

Bug Fixes

  • Fix propagated trace/span ID serialization #534
  • Fix issue with dd.trace.header.tags not working without an incoming propagated trace #542

0.16.0

28 Sep 17:13
Compare
Choose a tag to compare

Improvements

  • Jax-RS Improvements
    • Report connection failures for Jersey and Resteasy Jax-RS clients #479
      • Other implementations will continue silently discarding the span.
    • Add slashes if missing from annotation path #500
  • Remove elasticsearch.request.description to prevent sending sensitive info #506
  • Better error handling for older JDBC drivers which don't support unwrapping #502
  • Improve async trace propagation with Play 2.5 BodyParser #443

0.15.0

13 Sep 04:55
Compare
Choose a tag to compare

New Integrations (enabled by default)

Enabled Integrations

  • Elasticsearch (#471)
  • JSP rendering (#472)

Improvements

  • Stop tagging AWS request param data due to sensitive nature (#478)
  • Limit size of Byte Buddy's type cache and evict unused (#468)
  • Make JMS instrumentation more resilient to failure if message properties are read-only (#473)
  • Fixed gap in Elasticsearch client 5.3-6.0 coverage (#494)
  • Various improvements for integration compatibility checks

0.14.0

29 Aug 18:50
Compare
Choose a tag to compare

Improvements

  • Officially Support Java 10. #414
    • Note: A warning of An illegal reflective access operation may print on startup. This will not affect runtime behavior.
    • A long-term fix is in progress to remove this warning.
  • Enable async tracking for gRPC server calls #457
  • Don't report traces with unfinished spans #459
    • Prevents reporting traces created by buggy uses of the OpenTracing API
    • Throughput count will still be preserved
  • New Datadog APIs
    • MutableSpan#getRootSpan() #462
    • Tracer#addTraceInterceptor() #463

0.13.0

24 Aug 01:39
Compare
Choose a tag to compare

Important

  • Fixes a potential memory leak when spans are created and not finished (since 0.5.0) #423

Improvements

  • Netty 4.0+ instrumentation enabled by default #455, #456
  • Apache HttpClient instrumentation has better error handling #417
  • HttpUrlConnection instrumentation now separates connect, input, and output #425
  • Spring Web and Jax-RS now have a separate span for the controller execution #430, #435
    • Also includes a span for rendering responses
  • Replaced use of synchronized WeakMap's with WeakConcurrentMap #428
  • Added runtime reference checks to ensure instrumentation is safe to apply #422, #427, #441, #447,

Bug Fixes

  • Minor fixes to servlet instrumentation #439
  • Fix some instrumentation not loading if class not loaded #426
  • Reduce risk of classloading deadlock by making classloader paralell #448
  • Fix netty http client trace context across connect #451

0.12.0

01 Aug 03:00
Compare
Choose a tag to compare

New Instrumentation (disabled by default)

  • gRPC client and server 1.5+ #388
    • System property: dd.integration.grpc.enabled=true
    • Environment variable: DD_INTEGRATION_GRPC_ENABLED=true
  • Akka HTTP client #377
    • System property: dd.integration.akka-http.enabled=true
    • Environment variable: DD_INTEGRATION_AKKA-HTTP_ENABLED=true

Improvements

  • Better compatibility with other trace clients #392
    • Support unsigned 64 bit, instead of just 63 bits (signed).
  • Allow mapping on configured service name #398
  • Restructure spans created by HttpUrlConnection instrumentation #386
    • Still disabled by default. Enable as follows:
      • System property: dd.integration.httpurlconnection.enabled=true
      • Environment variable: DD_INTEGRATION_HTTPURLCONNECTION_ENABLED=true
  • Improve Java 10 compatibility by removing cases of reflection #400 #414
  • Simplify Servlet instrumentation and improve async handling #405
  • Support OpenTracing service and peer.service tags for service naming #394
  • Allow DDTraceResolver to be disabled via config #415
    • System property: dd.trace.resolver.enabled=false
    • Environment variable: DD_TRACE_RESOLVER_ENABLED=false
  • Ignore empty value tags for dd.span.tags config #418
  • Improve netty instrumentation handling when not using the netty-all dependency #411
    • Known issue with instrumentation when ChannelPipeline interface isn't loaded before the implementing class. Fixed in 0.13.0 #426