Skip to content

0.72.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Jan 21:28
· 7178 commits to master since this release
35c28f5

Improvements

  • Add instrumentation for akka-http HTTP/2 #2303
  • ScopeManager efficiency improvements #2314, #2316
  • Improved field injection and startup performance by reducing the number of generated types #2215

Changes

The JDBC instrumentation now matches specific database drivers, rather than any implementation of the JDBC base interfaces. This means that we never instrument proxies or wrappers, which reduces tracing overhead significantly, reduces the cost of matching JDBC classes prior to instrumentation (which translates to faster startup), and avoids the risk of instrumenting JDBC wrappers which don't strictly conform to the JDBC specification.

While we have added good coverage for most JDBC drivers (including Oracle, DB2, SQL Server, MySQL, MariaDB, PostgreSQL, H2, HSQLDB, Apache Derby, SQLite, and Apache Hive), there is a small risk that you are using a JDBC driver for which we haven't added explicit support. If this is the case, taking this upgrade will mean JDBC spans are no longer traced.

Known issue Do not upgrade to 0.72.0 if you are using Apache Phoenix or MySQL.

If this happens, tracing those JDBC spans can be reenabled with the following:

  • Environment Variables
    • DD_TRACE_JDBC_PREPARED_STATEMENT_CLASS_NAME=<driver prepared statement class name>
    • DD_TRACE_JDBC_CONNECTION_CLASS_NAME=<driver prepared statement class name>
  • System Properties
    • -Dtrace.jdbc.prepared.statement.class.name=<driver prepared statement class name>
    • -Dtrace.jdbc.connection.class.name=<driver connection class name>

or create an issue/contact support with the maven coordinates of your JDBC driver.

Fixes

  • Fix classloader instrumentation error involving isolated classloaders #2313
  • Avoid potential NPE in DDCachingPoolStrategy when resolving bootstrap classes #2315
  • Fix thread safety of Spring Webflux WebClient instrumentation #2276
  • check for empty http headers in extractor codecs #2304