Skip to content

Releases: DataDog/dd-trace-java

0.31.2

14 Aug 19:33

Choose a tag to compare

Changes

  • Upgrade Jackson to 2.9.9.3 in JMXFetch dependency #951

Note: This change is in response to a security vulnerability and an upgrade is highly recommended.

0.31.1

13 Aug 00:30

Choose a tag to compare

Changes

  • Upgrade Jackson to 2.9.9.3 #947

Note: This change is in response to a security vulnerability and an upgrade is highly recommended.

0.31.0

25 Jul 23:27

Choose a tag to compare

Improvements

  • Add resourceName as optional field to @Trace #925
  • Support log trace injection for log4j 1.x and log4j 2.x #894
    • dd.logs.injection.enabled=true still required.
    • See docs for more details.
  • Add instrumentation for Google Http Client #914
  • Add instrumentation for Spring 5 WebClient #831 (Thanks to @johanvandeweerd for the contribution.)
  • Collect container-id if available #920
  • Better support for Akka-http with Scala 2.13 #899 (Thanks to @dpratt for the contribution.)
  • Improved hostname detection #927
  • More extensive testing on various JVM's #902
  • Extend support for Jersey client to 1.9+ #910
  • Add instrumentation for Kafka client using records(TopicPartition) method #911
  • Improved handling around tracing Kafka's Iterator: #924 (Thanks to @gygabyte for the contribution.)

Fixes

  • Allow proper shutdown of applications by marking JMXFetch threads as daemon #905
  • Change parent scope context propagation for Netty clients' callback #886
  • Better handling for adding Netty tracing handlers #900
  • Remove "default instance" for SqlServer #916
  • Assert that Span isn't set as null in Scope #917

0.30.0

17 Jun 21:30

Choose a tag to compare

Improvements

  • Provide configuration properties to add tags for query string and query fragments in http server and client spans:
    • Server:
      • System Property: dd.http.server.tag.query-string=true
      • Environment Variable: DD_HTTP_SERVER_TAG_QUERY_STRING=true
    • Client:
      • System Property: dd.http.client.tag.query-string=true
      • Environment Variable: DD_HTTP_CLIENT_TAG_QUERY_STRING=true
  • Set the service name for db clients spans as the instance name of the database when the configuration property -Ddd.trace.db.client.split-by-instance=true or env DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE=true is activated #881
  • Improve our process to parse db instance name out of jdbc connection string for a number of different vendors #866
  • Added option to configure the tracer via properties file. The file path can be provided via -Dtrace.config=/path/to/file.properties or env DD_TRACE_CONFIG=/path/to/file.properties #862
  • Tests Java 12 in our CI environment #868

Changes

  • Update Mongo instance name and remove memcache instance name #880
  • Deprecated static methods in Config.java class previously used to statically retrieve configuration properties. The new pattern is now to access all the properties via instance methods on the configuration singleton accessible through Config.get() #863

0.29.1

29 May 20:20

Choose a tag to compare

Changes

  • Reverted breaking changes to Kafka and RabbitMQ service names introduced in 0.29.0 #861

0.29.0

29 May 17:29

Choose a tag to compare

Improvements

  • Upgrade JMXFetch to 0.29.0 and enable JMXFetch by default. #838

    • To disable it add the one of the following config:
      • System Property: dd.jmxfetch.enabled=false
      • Environment Variable: DD_JMXFETCH_ENABLED=false
  • Bundled jmx integrations must now be configured via (default still disabled):

    • System Property dd.jmxfetch.<integration>.enabled=true
    • Environment Variable DD_JMXFETCH_<INTEGRATION>_ENABLED=true
  • New config options are passed through that enable datadog-agent config files to be used for JMXFetch. For example, the following will load jmx configs in those two files that have jvm_direct: true in their instance setup:

    • dd.jmxfetch.config.dir=/opt/datadog-agent/etc/conf.d
    • dd.jmxfetch.config=activemq.d/conf.yaml,jmx.d/conf.yaml
    • Environment variables can also be used: DD_JMXFETCH_CONFIG_DIR and DD_JMXFETCH_CONFIG
  • JMXFetch now uses the same logging system as dd-java-agent. This will help reduce logging noise when using JMXFetch.

  • Allow async propagation by default within Spring Controllers #856

Fixes

  • Prevent Glassfish's classloader from blacklisting classes added to the bootstrap by the agent #839
  • Improve Kafka instrumentation scope handling #859
  • Avoid setting Kafka headers when connected to an old/incompatible broker #836
  • Use default service name for Kafka Consumers #854 (Reverted in #861 -- 0.29.1)
  • Use default service name for RabbitMQ Consumers #855 (Reverted in #861 -- 0.29.1)

For a full list of changes please reference the milestone for this release.

0.28.0

17 May 21:19

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

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

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

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