Java agent 4.12.0

Released on: 
Wednesday, March 20, 2019 - 07:33

Improvements

  • Kafka-clients

    The Java agent now supports the kafka-clients library. The agent will automatically report up Kafka metrics to New Relic.

    Optional support is provided for reporting Kafka metrics as Insights events and for enabling distributed tracing. More information can be found in the New Relic documentation.

  • Java 12, Coretto and Zulu

    The New Relic Java agent is now fully compatible with Java 12. This release also adds support for the Amazon Coretto and Azul Zulu JDKs.

New APIs

  • Added ignoreErrors() to the Transaction API, allowing all errors reported within a specific transaction to be ignored.

  • Added addCustomParameters(Map<String, Object>) API, allowing multiple custom parameters to be added to a transaction at once.

  • Updated the noticeError() API documentation to clarify that when the api is invoked multiple times while in a transaction, only the first error will be reported.

Deprecated APIs

  • The custom transport channel API is now deprecated in favor of the Distributed Tracing API.

  • The skipTransactionTrace attribute on the @Trace annotation is now deprecated. The excludeFromTransactionTrace attribute should be used in its place.

Deprecated Instrumentation

  • JetS3t

    Removed built-in instrumentation for JetS3t. The agent will continue to report external calls made with the JetS3t client.

Fixes

  • Fixed an issue with Jax-RS subresource transaction naming where the root path is duplicated when a nested resource structure is used. This could lead to transactions being named incorrectly for incoming requests to a Jax-RS framework.

  • Fixed a bug in the agent's Jetty metric sampling that could prevent Jetty specific metrics from being reported when the number of threads returned by JMX is zero.

  • Fixed a NullPointerException that can occur when cross application tracing configuration is explicitly disabled.

  • Fixed an issue where transactions would be named incorrectly when using custom Akka Http stream directives or a pathEnd directive followed by a Segment directive.

  • Fixed an issue where certain usages of Akka and Scala would prevent transactions from being reported to New Relic. This would also manifest as a NullPointerException in the agent log at finest level.

  • The Java agent no longer includes Jaxb or Logback dependencies. A new dependency on Log4j2 has been added