Skip to content

Releases: DataDog/dd-trace-java

0.51.0

08 May 19:42
58ca00d

Choose a tag to compare

Deprecations

  • [dd-trace-api] Deprecate scope finishOnClose and continuation close #1424
    • Close spans manually instead of relying on finishOnClose
    • Use Continuation.cancel() instead of Continuation.close()

Improvements

  • [Performance] Avoid allocation of byte[] in MessagePacker.writeString #1435
  • [Performance] Intern UTF8 encoding of well known constants to reduce allocation#1430
  • [Performance] Replace collection.size() > 0 with not collection.isEmpty() #1420
  • [Performance] Avoid allocating an array when getting first header value #1418
  • Add instrumentation for OkHttp 2.2+ #1402 (Thanks @jerchung for the contribution)
  • Reduce finalize() logging in tracer #1416
  • Change logging for ScopeEventFactory creation exception #1417

Changes

  • OpenTracing Split #1354, #1439, #1429
    • Note: Some unchecked casting will no longer be possible
      • Spans passed into TraceInterceptor will no longer be castable to io.opentracing.Span or datadog.opentracing.DDSpan
      • Spans returned from OpenTracing interfaces will no longer be castable to datadog.opentracing.DDSpan
  • Do not stop profiling on fatal exceptions #1421
  • Upgrade jmxfetch to 0.36.1 and integrations-core modules to 7.19.0 #1410
  • Upgrade Byte Buddy to 1.10.10 #1409

Fixes

  • Fix projectreactor instrumentation to keep span context connected #1308, #1415
  • Add volatile on started boolean in ProfilingSystem #1426
  • Netty 3.8 had the wrong version in the config property #1423
  • Fix cassandra instrumentation to use a daemon thread #1422
  • Add null servlet context check #1414

0.50.0

28 Apr 21:00
03b6f57

Choose a tag to compare

Improvements

  • New instrumentation for Rediscala library #1389 (Thanks @aliyakamercan for the contribution)
  • Extend Lettuce instrumentation support to 4.0-5.x sync/async APIs #1398
  • Extend Ratpack instrumentation to 1.8 #1404
    • Applications using Ratpack 1.4.x and Guava 19 will no longer be instrumented. A minimum of Guava 20 is now required.

Changes

  • Add exception sampling event for profiling #1297
  • Resolve conflicts across new DD_VERSION, DD_ENV and DD_TAGS variables #1393

Bug Fixes

  • Rework servlet 2 to not wrap HttpServletResponse objects #1387
  • Handle AbstractMethodError in JDBC instrumentation if getClientInfo not implemented #1385
  • Http Trace and Span ID should use StringCachingBigInteger #1397 (Thanks @aarya123 for the contribution)
  • Check jax-rs AsyncResponse for span before starting new one #1403

0.49.0

17 Apr 19:51
5aeca66

Choose a tag to compare

Improvements

  • Capture thread CPU time elapsed in scope #1358
  • Detect route at the beginning of Spring requests #1360
  • Update versions of statsd client, guava, slf4j, and okhttp dependencies #1379, #1380

Changes

  • Remove dd. prefix from env and version tags #1378

Fixes

  • Properly handle resource name for nested JAX-RS calls #1377
  • Remove extraneous debug logging #1364
  • Remove incorrect sample rate being reported #1374
  • Make CommonTask tasks more robust #1366

0.48.0

10 Apr 19:40
af188c2

Choose a tag to compare

Improvements

  • Increased Play support to Play 2.3+ #1325
  • Add DD_SITE (and dd.site) configuration option to support sending profiles to different datadog sites (e.g. EU) #1348
  • DD_SERVICE; DD_ENV; DD_VERSION config options #1341

Changes

  • Rename DD_PROFILING_APIKEY to DD_API_KEY to allow generic use by other parts of the tracer in the future #1355

Fixes

  • Make sure that netty exception message is not null #1337
  • Remove sensitive information from debug log #1349
  • IndexOutOfBoundsException with single comma value #1356

See Milestone for full details.

0.47.0

24 Mar 19:04
d4ce0ad

Choose a tag to compare

Improvements

  • [Performance] Remove hostname and port from HttpClientDecorator #1316 (thanks @aarya123 )
  • Netty 3.8+ instrumentation #1327

Changes

  • Revert "Add config to capture stacktrace when a span duration exceeds threshold" #1335

Fixes

  • NPE in header extraction #1319

0.46.0

12 Mar 23:01
3575e7b

Choose a tag to compare

Improvements

  • Add commons-httpclient instrumentation #1299
  • Capture stacktrace for long running spans #1160
    • this was removed in 0.47.0.
  • Avoid jar file collisions with bootstrap injection #1285
  • Inject traceId and spanId into servlet request attributes #1304
  • [Performance] Ignore popular library classes that are never instrumented #1293. #1303, #1305, #1312
  • [Performance] Move common helper classes to bootstrap #1311
  • [Performance] Additional ClassLoader matcher improvements #1298

Changes

  • Stop creating a "top level" servlet span when in a forward/include situation #1300

Fixes

  • Play-WS exception when using stream() #1286
  • gRPC scopes never closed #1301

0.45.0

04 Mar 23:26

Choose a tag to compare

Improvements

  • Add setting dd.tags/DD_TAGS to apply tags for traces, metrics, and profiles #1263
  • Update jmxfetch to 0.35.0 for various improvements #1281
  • Improve application startup time by
    • ignoring evaluation of many classes from common frameworks #1255 #1282
    • reducing duplicate matchers for instrumentation context #1261
    • allow muzzle to return a simple boolean instead of a list #1251
    • add a classloader precheck to various instrumentation #1283

Regression

  • Fix regression for applications with non-delegating class loaders introduced in 0.44.0 #1275

Changes

  • Use guava cache instead of WeakHashMap to reduce thread contention #1244
  • Add LogHandler to provide alternate handling for span.log calls #1225
  • Add support for lz4 compression in profiles and make it default #1216
  • Reduce uri reparsing #1268
  • Allow @Trace generated spans be reported to App Analytics
    • System Property: -Ddd.trace-annotation.analytics.enabled=true
    • Environment Variable: DD_TRACE_ANNOTATION_ANALYTICS_ENABLED=true
      or
    • System Property: -Ddd.trace-config.analytics.enabled=true
    • Environment Variable: DD_TRACE_CONFIG_ANALYTICS_ENABLED=true

Deprecation

  • dd.tags should now be used instead of dd.trace.global.tags and DD_TAGS instead of DD_TRACE_GLOBAL_TAGS

For more details see the release milestone

0.44.0

27 Feb 15:32

Choose a tag to compare

Known Issues

  • This release broke classloader delegation config for OSGi based systems (Wildfly, JBoss, etc) (Fixed in #1275/0.45.0)

Improvements

Changes

  • Move service name mappings processing to DDSpanContext #1217
  • Disable peer hostname tag for http servers #1224
  • Use more generic instrumentation for classloaders (Tomcat, JBoss, OSGi) #1218 (thanks @trask)
  • Change DDTracer to return OpenTracing interfaces instead of DD* implementations #1219
  • Determine agent URL lazily #1236

Fixes

  • Ensure CallDepthThreadLocalMap is always reset #1227 (thanks @trask )
  • Fix JaxRs matching #1229
  • Fix NPE with elasticsearch 2 #1215 (thanks @liborio7)

0.43.0

11 Feb 20:30

Choose a tag to compare

Improvements

  • Deduplicate class loads, reducing jar size and memory overhead #1199
  • Reduce memory overhead by combining a few threads #1200
  • Reduce instrumentation class sizes by removing extraneous validation code #1208
  • This adds support for the Finatra web framework 2.9+ #1188

Changes

  • Remove Jackson dependency in tracing (still used by jmxfetch) #1185
  • Upgrade OkHttp client to 3.12.8 #1201
  • Reduce ContextClassloader usage #1204
  • New trace processing pipeline #1161
    • Adds metric to trace to allow agent to scale counts if sampling occurs

Fixes

0.42.0

31 Jan 20:25

Choose a tag to compare

Improvements

  • Allow limiting the depth of a traces scope tree #1177
  • Adjust class caching strategy to reduce start-up impact and add bounds for size #1189
  • Made decorator properties accept lowercase names #1182
  • Reduce memory overhead of loading internal classes and jars #1179
  • Add builder on DDTracer class #1174

Changes

  • Updating bytebuddy to 1.10.6 #1175
  • Changed rules based sampling properties to follow common Datadog convention #1181

Fixes

  • Chained servlets by way of forward and include will not create multiple top level spans #1196 (Fixed #1195)
  • Fixes potential stack overflow in method tracing property processing #1193 (Thanks to @Blikingor for the contribution)
  • In some cases we were causing a NullPointerException in hiberate instrumentation #1190