The Java agent now supports Vert.x 3.7. The agent instruments Vert.x Web, Vert.x Core, and Vert.x HTTP client. With this instrumentation, the agent will identify and name your transactions based on Vert.x web routing paths. The agent will also time web handlers, track async handlers, and external calls made with Vert.x HTTP client.
This release adds support for OkHttp 3.14.x. You will now see OkHttp 3.14 calls as external calls in New Relic.
Embedded Derby 10.15.1.3
The Java agent has expanded support for Derby JDBC up to and including version 10.15.1.3.
The Java agent now reports JMX stats for off-heap direct byte buffers. These metrics are available via the JVM page
The recordCustomEvent API has been updated to accept Map<String,?> as a second parameter instead of Map<String,Object>, allowing maps such as Map<String,String> to be passed without having to cast the type of the map's value.
- The agent no longer requires a newrelic.yml even when the
license_keyconfiguration options are set via environment variables and/or system properties. For more information, see the Java environment variables documentation.
- HttpSessions JMX metrics were not reporting for Websphere Liberty Profile applications.
transaction_events.max_samples_storedconfiguration value in the
newrelic.ymlwould incorrectly override the system properties or environment variable values.
- Applications running on WildFly 12 - 15 would fail start with
NoClassDefFounderrors for Java agent classes.
- Play applications where external calls inside of future callbacks using
async-http-clientwould not be recorded.
log_limit_in_kbyteswould result in the agent not logging to the agent log file if
log_file_countwas also set to less than 2.
- Webflux status codes which were not recognized by Spring Webflux caused a 500 status code to be returned and an exception in application logs.
gRPC: Fixed in 5.1.1
This release contains two bugs in the Java agent's gRPC instrumentation. We highly recommend customers using gRPC instrumentation to upgrade to this and/or later agent versions.
- References to transaction segments were not being removed correctly, which can cause a memory leak.
- The agent could cause the gRPC server listeners to fail to execute its
cancelledmethods, which can cause unexpected behavior.
The New Relic Java agent's self-installer has been removed in order to provide a more consistent user experience. To install the Java agent, add the full path to the
newrelic.jar to the
-javaagent flag in your JVM options. For more information on installing the agent on specific application servers, Docker, Maven, or Gradle, see the JVM argument documentation.
The following instrumentation modules have been moved out of the default Java agent, and are now provided as a separate download. To continue using these modules, just add them to the agent's extensions directory in your
newrelic folder or wherever your extensions directory is configured.