Skip to content

Releases: DataDog/dd-trace-java

0.2.11

11 Dec 18:05
Compare
Choose a tag to compare
0.2.11 Pre-release
Pre-release

Improvements

  • Enhance support for SpringBoot classloaders (#168, #171)
  • Better support getting connection info for proxy connections (e.g. c3p0) (#169)
  • Reduce classloading time and add jmh benchmarks (#172, #163)

Internal Changes

  • Byteman removed from the agent (#167)
    • Apache HTTPClient migrated to ByteBuddy (#161)
    • OK Http migrated to ByteBuddy (#166)
  • Better naming for agent threadpools (#164)
  • Update gradle wrapper to latest version (#162)
  • Fix mongo module compilation for idea (#170)

0.2.10

01 Dec 19:38
Compare
Choose a tag to compare
0.2.10 Pre-release
Pre-release

Improvements

  • Support for JMS 1 (#156)
  • Support for Mongo Async Driver (>= 3.3). (#154)
  • Add documentation for error reporting. (#158)

Major Changes

  • Instrumentation migrated from byteman to bytebuddy to improve performance and stability. This is an internal change and does not affect supported instrumentation versions.

0.2.9

13 Nov 20:53
Compare
Choose a tag to compare
0.2.9 Pre-release
Pre-release

Improvements

  • Significant reduction to agent classload cost by changing the framework used for instrumentation. (#148)
  • Safer integrations by preventing errors in integrations from bubbling up. (#148)

Bugfixes

  • Handle a potential null pointer exception in cases where the SQL query isn't available. (#149)
  • Fix the mongo integration query sanitization. (#152)

Read the full changeset

0.2.8

01 Nov 22:28
Compare
Choose a tag to compare
0.2.8 Pre-release
Pre-release

Improvements

  • Apply rate limiting to connection failure log messages when trying to send data to DD Agent. ( #147 )

Bugfixes

  • Prevent a NullPointerException from the new JDBC instrumentation released in 0.2.7 caused by a null URL connection string. ( #146 )

0.2.7

30 Oct 22:18
Compare
Choose a tag to compare
0.2.7 Pre-release
Pre-release

Improvements

  • JDBC drivers are automatically traced now. Manual changes to add opentracing-contrib/java-jdbc and modifying the jdbc url are no longer required. (#141)
  • Better resource naming for Spring Web based applications. Resource is now named after the pattern used to map the controller instead of the URL. These patterns are typically defined using annotations such as @RequestMapping. (#144)
  • Improve matching performance when using the @Trace annotation. This also has the benefit of finding classes with @Trace not available on the system classpath. (This especially applies to Spring Boot apps deployed as an executable jar.) (#143)
  • Headers provided to DDTracer.extract are now discovered case-independent even if the map provided is case-sensitive. (#145)

Bugfixes

  • Downgraded to a non-beta version of byteman in attempt to resolve a performance degradation in some cases running Tomcat. (#142)

Read the full changeset

0.2.6

16 Oct 12:16
Compare
Choose a tag to compare
0.2.6 Pre-release
Pre-release

Improvements

  • Errors reported are now properly captured and sent along with the trace (#139). This is done primarily as follows:
ActiveSpan span = GlobalTracer.get().activeSpan();
span.log(Collections.singletonMap("error.object", new RuntimeException("some error")))

Bugfixes

  • fixed IllegalAccessError that was being thrown in some cases where classes were loaded on multiple classloaders (#137).

Breaking Changes

  • tags names used in our OpenTracing compatibility layer have been changed to make them consistent with other OpenTracing tags (#140). If you have:
span.setTag('service-name', 'intake')
span.setTag('resource-name', 'GET /api/v1/')

You should change that to:

span.setTag('service.name', 'intake')
span.setTag('resource.name', 'GET /api/v1/')

Read the full changeset

0.2.5

28 Sep 04:31
Compare
Choose a tag to compare
0.2.5 Pre-release
Pre-release

Fix distributed tracing headers to be compatible with other datadog APM clients.

Previous headers were not consistent with other clients. This release should properly propagate for distributed tracing.

0.2.4

22 Sep 22:09
Compare
Choose a tag to compare
0.2.4 Pre-release
Pre-release

Support for Servlet 2.3+ compatible Application Servers

The previous integration that was written for Jetty and Tomcat has been replaced with general instrumentation for application servers that follow the servlet spec. This includes things like Tomcat, Jetty, Websphere, Weblogic, JBoss, etc.

0.2.3

13 Sep 20:37
Compare
Choose a tag to compare
0.2.3 Pre-release
Pre-release

Improved compatibility of dd-java-agent co-existing with dd-trace

Internal classes of dd-trace inside dd-java-agent are dynamically modified using shadow. This created a problem with previous versions when dd-trace also existed on the classpath separately. The classloader could find the same classname in multiple different jars, but with different classes. These internal versions of classes from dd-trace now have a different package name and should not cause this conflict.

Fixed NPE in Servlet Context Helpers

If JettyServletHelper or TomcatServletHelper were triggered more than once, or there happened to already be a filter registered with the name tracingFilter, the helper would throw a NullPointerException. This registration process is now properly handled by checking registration first and checking for null before continuing.

0.2.2

07 Sep 18:42
Compare
Choose a tag to compare
0.2.2 Pre-release
Pre-release

Fixed integration with custom classloaders

Internal classes used for the purpose of integrations are now loaded on the classloader where the integration is applied. This allows for support of applications running with non-standard classloaders such as Spring Boot's executable jar classloader.

Logging has been changed to use an internal SLF4J implementation that is scoped to just dd-java-agent. The result is agent logs are piped to STDERR. This fixes the lack of logging for executable Spring Boot jars. Configure the log level with the following property -Ddd.slf4j.simpleLogger.defaultLogLevel=debug.