• EnglishEspañol日本語한국어Português
  • Log inStart now

Java agent release notesRSS

May 15, 2020
Java agent v5.12.1

Download this agent version

Notes

Bug fixes

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.

May 5, 2020
Java agent v5.12.0

New Features

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.

Known Issue

In-process spans from Java services will not appear in distributed traces. All users should upgrade to 5.12.1.

Improvements

  • Spring

    Spring PatchMapping annotation will now be used to start and name transactions.

  • SQL

    Common Table Expressions in SQL Server, Postgres, and MySQL will report Datastore Metrics Datastore/<vendor>/statement/<first cte name>/with and Datastore/<vendor>/operation/with

  • Distributed Tracing

    Span events now report error attributes if an error occurs: TransactionError events will also contain a corresponding spanId attribute indicating where the error occurred.

Fixes

  • Solr Instrumentation could cause a NullPointerException in the agent logs for queries containing null parameters
  • The JAVA_ENV environment variable configuration has been deprecated. Use NEW_RELIC_ENVIRONMENT to set the environment configuration for the agent to use
  • The JDBC ResultSet instrumentation is now disabled by default internally. Applications configured solely via system properties and/or environment variables can enable with: -Dnewrelic.config.class_transformer.com.newrelic.instrumentation.jdbc-resultset.enabled=true or NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_JDBC-RESULTSET_ENABLED=TRUE
  • The quartz_job configuration did not affect applications using Quartz-2.0 and higher

March 18, 2020
Java agent v5.11.0

Improvements

  • Java 14

    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

Fixes

  • The agent would log a NullPointerException when trying to accept distributed trace payloads before it had connected to rpm.newrelic.com
  • Fixes an issue where W3C headers from New Relic’s .NET agent could produce malformed W3C traceparent headers
  • The agent now logs ForceRestartExceptions at warning level rather than severe
  • The noticeError API now supports reporting attributes of boolean and number types rather than their string representations

January 29, 2020
Java agent v5.10.0

Improvements

  • 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.

  • Cassandra

    • This release adds instrumentation for queries in versions 3.8+ of the Datastax Cassandra driver, including slow query support. You’ll see relevant breakdowns in the overview chart, entries on the Databases page, and segments in transaction traces.
  • AWS Async SDK

    • AWS S3 - The Java agent now reports calls to Amazon S3 using the S3AsyncClient as external metrics
    • AWS SQS - The Java agent now reports calls to SqsAsyncClient as message queue metrics
    • AWS SNS - The Java agent now reports calls to Amazon SQS using SNSAsyncClient as message queue metrics

Fixes

  • 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.

    transaction_tracer.slow_query_whitelist is now transaction_tracer.collect_slow_queries_from

    strip_exception_messages.whitelist is now strip_exception_messages.allowed_classes

    command_parser.blacklist is now command_parser.disallow

  • The strip_exception_messages config now excludes nested exception messages

  • The agent will now use a lightweight tracer for SQL tracers beyond the segment_limit, improving performance in cases with a high number of segments.

  • The agent would fail to report the Docker containerId for some combinations of systemd and Kubernetes

  • The agent logger would fail to log with: “ERROR RollingFileAppender 'File': No TriggeringPolicy provided” when newrelic.config.log_file_count>1 and newrelic.config.isDaily=false and newrelic.config.log_limit_bytes=0

Known issues and workarounds

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.

December 10, 2019
Java agent v5.9.0

Improvements

  • AWS SDK

    • AWS S3 - The Java agent now reports calls to Amazon S3 using AmazonS3 and S3Client as external metrics
    • AWS SQS - The Java agent now reports calls to Amazon SQS using AmazonSQS, AmazonSQSAsync, SqsClient as message queue metrics
    • AWS SNS - The Java agent now reports calls to Amazon SQS using AmazonSNS, AmazonSNSAsync, SnsClient as message queue metrics
  • Distributed Tracing - The agent now supports distributed traces originating from the New Relic Browser agent

Fixes

  • The ca_bundle_path configuration setting would fail to correctly import certificates when running on IBM J9
  • Clarified the startup log message about the state of browser monitoring for the current application.
  • The agent logger would sometimes throw a NullPointerException
  • The agent would stop reporting Kafka metrics when one or more clients where closed
  • HttpURLConnection instrumentation could cause a NullPointerException in the agent logs and fail to report External metrics

Deprecated

  • Jar Collector system properties prefixed with newrelic.config.module and environment variables prefixed with NEW_RELIC_MODULE are deprecated and will be removed in a future agent release. Instead use the newrelic.config.jar_collector and NEW_RELIC_JAR_COLLECTOR prefixes.

Removed dependency

  • The agent no longer has a dependency on ANTLR.

October 29, 2019
Java agent v5.8.0

New features

New OSS SDK

We now have an open source Telemetry SDK for Java for sending telemetry data to New Relic. The current SDK supports sending dimensional metrics to the Metric API and spans to the Trace API.

Fixes

  • The Solr 7 instrumentation would not report Update JMX metrics.
  • HttpURLConnection instrumentation produced External metrics only when network methods (getInputStream, getResponseCode) are called.
  • MongoDB instrumentation would report duplicate metrics when applications invoked MongoClientOptions.build() more than once.

September 25, 2019
Java agent v5.7.0

Improvements

  • Java 13

    The New Relic Java agent is now fully compatible with version 13 of the OpenJDK and Hotspot JDKs.

Bug fixes

  • Calls to NewRelic.getAgent().getTracedMethod().addOutboundRequestHeaders() will no longer throw an exception if a traced method has started but a transaction has not. This could happen by calling this in a method annotated with @Trace(async=true) before a token is linked.
  • Updates Guava to the newest release.
  • NoClassDefFoundError would occur in agent logs when a spring controller is used without a root level RequestMapping annotation.
  • The gc_time metric, which was enabled by default in version 5.2.0, has now been disabled by default since its results are often misleading.

September 17, 2019
Java agent v5.6.0

New APIs

  • Added getTraceMetadata(). This provides information about the currently executing trace, including the trace and span ids as well as it’s sampled state
  • getTraceId(), which provides the currently executing trace’s identifier from the TraceMetadata.
  • getSpanId(), which provides the span identifier associated with the currently executing span from the TraceMetadata.
  • isSampled(), returns whether or not the current transaction is part of a sampled distributed trace from the TraceMetadata.
  • Added getLinkingMetadata(), which provides an opaque map of key/value pairs that can be used to correlate this application in the New Relic backend.

Fixes

  • Spring Webflux WebClient would not track external calls when constructed with baseUrl(String baseUrl)
  • The NewRelic.getAgent().getConfig().getValue() api would not check configuration values set via environment variables
  • The agent’s completable-future instrumentation could hold a reference to Tokens after they were expired, which could cause excessive memory usage.
  • Error traces could report to the wrong application when auto_app_naming is enabled and there were errors from two different application names getting reported during the same harvest
  • The agent’s MongoDB instrumentation would instrument the same builder used by the async and reactive-streams drivers, resulting in excessive memory usage and incorrect transaction times. Note: The agent will no longer instrument the sync MongoDB driver if the async and/or reactive-streams drivers are on the application’s classpath.

September 4, 2019
Java agent v5.5.0

New features

  • Support for Real Time Streaming

    • Event data is now sent to New Relic every five seconds, instead of every minute. As a result, transaction, error, and custom events will now be available in New Relic dashboards in near real time. For more information on how to view your events with a five-second refresh, see the real time streaming documentation.
    • Note that the overall limits on how many events can be sent per minute have not changed. Also, span events, metrics, and trace data is unaffected, and will still be sent every minute.

Improvements

  • The Java agent now uses persistent connections when connecting to New Relic, reducing overhead.

August 27, 2019
Java agent v5.4.0

Notes

  • x-ray and any x-ray related attributes and identifiers will no longer be available in this version of the java agent. The New Relic x-ray feature reached end-of-life on April 17, 2019

Improvements

  • OkHttp This release adds support for OkHttp 4.0. You will now see OkHttp calls as external calls in New Relic.
  • Agent configuration settings set via environment variables will be available on the Environment page.
  • Improves performance of the Java agent.

Fixes

  • Transaction Traces would occasionally miss segments when using the spring @Async annotation with servlets.
  • Jax-RS instrumentation was not starting transactions.
  • A potential race condition during agent startup that would manifest as a NoClassDefFoundError for internal New Relic classes.
  • Akka-http instrumentation would attempt multiple retransforms of the same class.
  • The noticeError API would drop custom attributes that weren't of type String, Number, or Boolean, such as an Enum or other custom types.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.