- Fixes an issue where Spring-Webflux applications with endpoints returning Flux or empty content could become unresponsive
flatmapasync external calls in spring webflux framework. Previously the agent didn’t support client calls that occurred within the
flatmapmethods within the spring webflux framework. External calls such as
serviceCin the example below would not get reported to New Relic:
return serviceA.getData() .map(service -> Response.builder().service(service).build()) .flatMap(serviceB::getData) .flatMap(serviceC::getData) .doOnNext(this::saveResponse);
docker-. Previously, the agent only supported docker cgroup ids that contained
docker-in them, such as
1:cpu:/system.slice/docker-12345abcde.scope. The agent now supports parsing cgroup ids such as
ca_bundle_pathis specified. This fix also came with the reintroduction of the
use_private_sslconfig, which can be set to add our agent certs to the truststore.
The Java agent now includes the newrelic.com SSL certificate. In previous agent versions, applications using a custom Truststore would have to provide their certificate or use the
use_private_ssl configuration which was removed in 6.0.0.
Fixed an issue where applications could fail to start due to the agent attempting to access the JMX MBean server before it was initialized.
This release removed the certificate bundle from the agent artifact. Users previously using
use_private_ssl should now use the
ca_bundle_path configuration directive. For more information, see the Java v6.0.0 release on GitHub.
extensions: reload_modified: false
Spring Webflux The Java agent now provides updated instrumentation for reactor-netty-0.8.0+ to link the Transaction across threads. In previous agent versions, Transactions would be named /NettyDispatcher.
Logging format To make the agent log easier to sort and read across locales, the date/time format has changed. The new format is log4j's ISO8610_OFFSET_DATE_TIME_HHMM and it is rendered like this in all locales:
2020-07-10T08:33:00,328-0700 [9550 1] com.newrelic INFO: New Relic Agent: Loading configuration file "lib/./newrelic.yml"
2020-07-10T08:33:00,423-0700 [9550 1] com.newrelic INFO: Using default collector host: collector.newrelic.com
All other data on the log line remains the same.
Distributed tracing: With distributed tracing spans and/or Infinite Tracing, the Java agent will now incorporate additional information from the transaction event on to the root span event of the transaction.
New TracedMethod.addCustomAttribute(...) APIs have been added for adding attributes directly to spans.
Note: Any attribute include or exclude settings specific to transaction events should be applied to your span attributes configuration or your global attributes configuration.
The Java agent now uses AWS's IMDS v2 to gather instance information.
This is a patch release that resolves an issue in 5.12.0. With distributed tracing enabled and Infinite Tracing disabled, a defect in version 5.12.0 causes spans to be omitted from distributed traces.
Any customers currently on 5.12.0 are strongly encouraged to upgrade to this 5.12.1 patch release.
Added support for Infinite Tracing on New Relic Edge.
Infinite Tracing observes 100% of your distributed traces and provides visualizations for the most actionable data so you have the examples of errors and long-running traces so you can better diagnose and troubleshoot your systems.
You configure your agent to send traces to a trace observer in New Relic Edge. You view your distributed traces through the New Relic’s UI. There is no need to install a collector on your network.
Infinite Tracing is currently available on a sign-up basis. If you would like to participate, please contact your sales representative.
In-process spans from Java services will not appear in distributed traces. All users should upgrade to 5.12.1.
Spring PatchMapping annotation will now be used to start and name transactions.
Common Table Expressions in SQL Server, Postgres, and MySQL will report Datastore Metrics
Datastore/<vendor>/statement/<first cte name>/with and
Span events now report error attributes if an error occurs: TransactionError events will also contain a corresponding
spanId attribute indicating where the error occurred.
Solr Instrumentation could cause a
NullPointerException in the agent logs for queries containing null parameters
JAVA_ENV environment variable configuration has been deprecated. Use
NEW_RELIC_ENVIRONMENT to set the environment configuration for the agent
ResultSet instrumentation is now disabled by default internally. Applications configured solely via system properties and/or environment variables can enable with:
quartz_job configuration did not affect applications using Quartz-2.0 and higher
The New Relic Java agent is now fully compatible with version 14 of the OpenJDK and Hotspot JDKs.
Java Flight Recorder
A new Java Flight Recorder agent extension is now available to report real-time Java profiling metrics for application running on Java 14, including thread allocation, garbage collection and heap memory
Support for W3C Trace Context, with easy upgrade from New Relic trace context
Distributed tracing now supports W3C Trace Context headers for HTTP and gRPC protocols when distributed tracing is enabled. Our implementation can accept and emit both W3C trace header format and New Relic trace header format. This simplifies agent upgrades, allowing trace context to be propagated between services with older and current releases of New Relic agents. With this release, W3C trace header format will always be accepted and emitted. New Relic trace header format will be accepted, and you can optionally disable emission of the New Relic trace header format.
The New Relic trace header format can disabled using this config or as documented here:
newrelic.config.distributed_tracing.exclude_newrelic_header = true
Also, see Known issues and workarounds.
AWS Async SDK
In an effort to modernize our language and improve clarity, we have renamed several config values. The old names will still work for now, but they will all be removed in the next major version.
strip_exception_messages config now excludes nested exception messages
containerIdfor some combinations of systemd and Kubernetes
“ERROR RollingFileAppender 'File': No TriggeringPolicy provided”when
If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream Java New Relic agents to this agent release.