Skip to content

Releases: DataDog/dd-trace-java

0.28.0

17 May 21:19
Compare
Choose a tag to compare

Added

  • Allow tracing to be entirely disabled with env variable or system property #824
    • System Property: dd.trace.enabled=false
    • Environment Variable: DD_TRACE_ENABLED=false
  • Add configuration option to enable individual executors #830
    • dd.trace.executors=com.MyCustomExecutor,com.OtherExecutor
    • dd.trace.executors.all=true
    • Environment Variables: DD_TRACE_EXECUTORS, DD_TRACE_EXECUTORS_ALL
  • Add configuration to report hostname on tracer root span #827
    • System Property: dd.trace.report-hostname=true
    • Environment Variable: DD_TRACE_REPORT_HOSTNAME=true

Fixed

  • Resource name for Ratpack integration #833

See all other associated changes the in the release milestone

0.27.0

03 May 20:19
Compare
Choose a tag to compare

Added

  • Apache HttpAsyncClient instrumentation #809
  • Twilio SDK Instrumentation #775 - Thanks @darylrobbins
  • Update Ratpack instrumentation and enable it by default #797
  • Hystrix instrumentation extended to include tracing for HystrixObservableCommand #811
  • Set default value for dd.trace.partial.flush.min.spans to 1k spans #804
  • Possibility to exclude classes from transformation based on config parameter #807

Fixed

  • Have Cassandra integration work with recent versions of Guava #786
  • Improve compatibility when instrumenting cglib generated proxy classes #795
  • Automatically apply OSGi bootloader delegation settings for felix and other frameworks #803
  • Only add frames if class file version supports attribute #814 - Thanks @raphw
  • Fix log message when a error occurs during trace flushing #784 - Thanks @msysyamamoto

Changed

  • Upgrade Byte Buddy to 1.9.12 -- Improves compatibility with Java 12 applications #812
  • Log JMXFetch tracing info at info level instead of error level #796
  • Replace hostname/port pair with peer name in server tags #798
  • Rebrand priority sampling to manual keep/drop #805
  • Make context fields transitive to avoid unintentional serialization #816

0.26.2

28 Mar 16:53
Compare
Choose a tag to compare

Bug Fix

This is a critical release fixing a bug introduced in 0.26.0. Please upgrade to this instead of using 0.26.0 or 0.26.1.

  • Report correct content length when sending traces to the agent. #783

0.26.1

27 Mar 16:27
Compare
Choose a tag to compare

WARNING:

This release has a bug calculating the content length for tracer payloads with more than 15 traces (per second). This miscalculation causes the agent to drop the payload. This is fixed in 0.26.2.

Bugs

  • Fix regression introduced in version 0.26.0 where it was impossible to instantiate HttpsURLConnectionImpl due to missing classes. #781
  • Fix config key for http status error mapping. The following config should now work properly. #782
    • System Property:
      • dd.http.client.error.statuses=400-499
      • dd.http.server.error.statuses=500-599
    • Environment Variable:
      • DD_HTTP_CLIENT_ERROR_STATUSES=400-499
      • DD_HTTP_SERVER_ERROR_STATUSES=500-599

0.26.0

25 Mar 22:12
Compare
Choose a tag to compare

WARNING:

This release has a bug calculating the content length for tracer payloads with more than 15 traces (per second). This miscalculation causes the agent to drop the payload. This is fixed in 0.26.2.

Improvements

  • Flush traces to the agent when size exceeds 5MB. Use LMAX Disruptor for collecting/serializing traces. #710
    • Better performance for high throughput applications.
    • Allows more traces to be sent to the agent without exceeding the limit.
  • Support for B3 formatted header injection/extraction #756
    • System Property:
      • dd.propagation.style.inject=Datadog,B3
      • dd.propagation.style.extract=Datadog,B3
    • Environment Variable:
      • DD_PROPAGATION_STYLE_INJECT=Datadog,B3
      • DD_PROPAGATION_STYLE_EXTRACT=Datadog,B3
    • Note: extract configuration is order specific.
    • Thanks @adriancole for the review.
  • New config defining HTTP status code ranges to be marked as errors with the following defaults #772
    • This release had a typo in the config key, but is fixed in 0.26.1
    • System Property:
      • dd.http.client.error.statuses=400-499
      • dd.http.server.error.statuses=500-599
    • Environment Variable:
      • DD_HTTP_CLIENT_ERROR_STATUSES=400-499
      • DD_HTTP_SERVER_ERROR_STATUSES=500-599
  • Allow traces to be proxied via Unix Domain Sockets #760
  • Added instrumentation for Hibernate's ProcedureCall #765
  • Extended support for hibernate to 3.3 #773

Bugs

  • Fix issue with Hibernate instrumentation from 0.25.0 which caused NoClassDef errors #777
  • Fix AWS SDK not closing scope properly on some errors, causing potential OutOfMemory errors #770
  • Apply connection/request timeout when submitting traces #766

0.25.0

15 Mar 18:27
Compare
Choose a tag to compare

Known Issues

  • New hibernate instrumentation has problems and is currently being worked on. Disable using the following setting:
    • System property: dd.integration.hibernate.enabled=false
    • Environment variable: DD_INTEGRATION_HIBERNATE_ENABLED=false

Improvements

  • New Instrumentation for Hibernate core 4.0+ #703
  • Added support to submit jmxfetch metrics via UDS #752
  • Added support for fine-grained configuration of Trace Search and Analytics.
    Enable for all HTTP server frameworks:
    System Property: -Ddd.trace.analytics.enabled=true
    Environment Variable: DD_TRACE_ANALYTICS_ENABLED=true

Bug Fixes

  • Span type is no longer inherited from parent spans or duplicated as additional metadata #742
  • Avoid injecting headers into AWS SDK requests #755
  • Ensure Tomcat classloader delegates properly #741

0.24.1

01 Mar 17:32
Compare
Choose a tag to compare

Improvements

  • Implement trace origin header and propagation support #731 #748

0.24.0

21 Feb 17:23
Compare
Choose a tag to compare

Improvements

  • Improved Webflux instrumentation consistency by rewriting it #706
    • Includes new instrumentation for reactor core to propagate traces.
  • Minor upgrade to Byte Buddy 1.9.9 #698

Fixes

  • Fix Custom logmanager detection preventing JMXFetch initialization #714

0.23.0

11 Feb 19:17
Compare
Choose a tag to compare

Improvements

  • Added setting to split-by-domain for HTTP clients. #691
    • Sets the service name for client calls to the hostname in the url being called.
    • Off by default. Works best with few distinct hosts. To enable:
      • System property: -Ddd.trace.http.client.split-by-domain=true
      • Environment variable: DD_TRACE_HTTP_CLIENT_SPLIT_BY_DOMAIN=true
  • Bundle JMX integrations from integrations-core #639 #696
    • These can be enabled via config:
      • System property: -Ddd.integration.<name>.enabled=true
      • Environment variable: DD_INTEGRATION_<NAME>_ENABLED=true
      • <Name> is the name of the folder under integrations-core
  • Better handling of JMXFetch initialization delay when using custom loggers #684 #686
  • Added instrumentation for maintaining trace context in ForkJoin tasks and ScheduledThreadpoolExecutor #666 #672 #701
  • Added instrumentation for aws-sdk v2 (enabled by default) #666
  • More reliable Netty instrumentation #676
  • More reliable Webflux instrumentation #688
  • Extend instrumentation support for Elasticsearch rest client to 6.3+ #679

Fixes

  • Ignore Clojure's DynamicClassLoader to avoid ClassNotFoundException #689 (Thanks @sattvik!)
  • Better handling for Eclipse OSGi classloader #671
  • Apply fixed Hystrix operation name to avoid multiple span names in UI #683

0.22.0

23 Jan 20:06
Compare
Choose a tag to compare

Improvements

  • Updated minimum Jackson dependency to 2.9.8 for security vulnerability remediation #658
    • This should be transparent if you're using dd-java-agent, but might cause dependency conflicts if using dd-trace-ot.
  • Support Kotlin coroutine context propagation (Thanks @markoferrer) #653
  • Add config to partially flush spans from large traces #662
    • Add the following config to set the threshold for large traces:
      • System property: -Ddd.trace.partial.flush.min.spans=100
      • Environment Variable: DD_TRACE_PARTIAL_FLUSH_MIN_SPANS=100
  • Customize trace event sample rate per service by setting a tag #640

Fixes

  • Prevent jmx metric capture from prematurely initializing custom LogManagers until after it's been successfully initialized #657