Releases: DataDog/dd-trace-java
0.31.2
Changes
- Upgrade Jackson to
2.9.9.3in JMXFetch dependency #951
Note: This change is in response to a security vulnerability and an upgrade is highly recommended.
0.31.1
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
Improvements
- Add
resourceNameas optional field to@Trace#925 - Support log trace injection for log4j 1.x and log4j 2.x #894
dd.logs.injection.enabled=truestill 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
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
- System Property:
- Client:
- System Property:
dd.http.client.tag.query-string=true - Environment Variable:
DD_HTTP_CLIENT_TAG_QUERY_STRING=true
- System Property:
- Server:
- 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=trueor envDD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE=trueis 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.propertiesor envDD_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.javaclass 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 throughConfig.get()#863
0.29.1
0.29.0
Improvements
-
Upgrade JMXFetch to
0.29.0and 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
- System Property:
- To disable it add the one of the following config:
-
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
- System Property
-
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: truein theirinstancesetup:dd.jmxfetch.config.dir=/opt/datadog-agent/etc/conf.ddd.jmxfetch.config=activemq.d/conf.yaml,jmx.d/conf.yaml- Environment variables can also be used:
DD_JMXFETCH_CONFIG_DIRandDD_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
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
- System Property:
- Add configuration option to enable individual executors #830
dd.trace.executors=com.MyCustomExecutor,com.OtherExecutordd.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
- System Property:
Fixed
- Resource name for Ratpack integration #833
See all other associated changes the in the release milestone
0.27.0
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.spansto 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
0.26.1
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.0where it was impossible to instantiateHttpsURLConnectionImpldue 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-499dd.http.server.error.statuses=500-599
- Environment Variable:
DD_HTTP_CLIENT_ERROR_STATUSES=400-499DD_HTTP_SERVER_ERROR_STATUSES=500-599
- System Property: