Glassfish 2.1 JVM tab: The JVM tab will now show thread, session, and transaction metrics for Glassfish 2.1.
Fix: Solr cache metrics: The solr cache metrics do not appear with versions 2.18 and 2.19 of the agent. This has been fixed, and all solr metrics should now appear.
Fix: NullPointerException in New Relic agent logs when NewRelic API called: In certain circumstances, a call to a method on the
NewRelicclass can generate a
NullPointerExceptionin the agent logs. It does not cause a
NullPointerExceptionin your application.
Fix: Support custom extension XML file for WebSphere with JRE: Prior to this fix, an attempt to use a custom extension XML file with a IBM JRE would lead to a
- Fix for 2.19.0 known issue: Play now captures GET and POST parameters correctly if
- Disabled overly ambitious instrumentation used to time template rendering for Play 2. Resulted in unintended classes being instrumented.
Play 2 Instrumentation
Provides insight into Play 2.x Java and Scala applications. Adds instrumentation to Netty server, Akka actor calls, Scala Promises and Futures, and the WS API calls.
Known issue: Request parameters are not captured properly even if
Support added for Jetty 9 (tested on 9.0.0 through Jetty 9.0.3).
Fix: Agent can cause java.lang.VerifyError on code compiled with Java 7
In certain cases, if your application code or third party libraries are compiled with Java 7, you may get a java.lang.VerifyError. This fix allows the agent to work correctly in those cases.
Fix: The Java Agent detects status codes for Apache Felix correctly by default. The property take_last_status is now deprecated.
New metrics are displayed under the JVM tab
While the metrics displayed differ between application servers, common metrics include loaded class count, active thread count, active thread count per thread pool, active session count per application, and active transaction count. In order to see these metrics, JMX must be enabled on your app server.
Fix: When naming transactions, the property
enable_auto_transaction_namingshould be honored
There was an issue where transactions using the Spring Framework were ignoring the property.
Fix: Strip query string from HTTP Referer
Query strings can potentially contain sensitive information. To prevent that data from being sent to New Relic, only the host and path portion of the referer are captured.
Fix: Fixed bug in which application code can throw NoSuchMethodError
In some cases using Java agent 2.17.0 and 2.17.1, application code was throwing an exception
This usually occurred when calling a ResultSet implementation.
Fix: Reverted transaction naming change on ColdFusion, introduced in 2.17.0.
That change caused issues with certain modes of ColdFusion.
Agent reports JDBC ResultSet query time
This change gives you deeper insight into your database time by displaying ResultSet processing time in aggregate metrics and transaction traces.
Fix: Avoid retransform exception on IBM JREs
In some IBM JRE versions, the agent logged an INFO level exception and did not instrument select classes. This fix allows these classes to be instrumented properly.
Adds a stack trace in a transaction trace for all methods taking longer than stack trace threshold. This differs from 2.16 which only provided stack traces for a limited number of methods.
Better transaction naming on ColdFusion
Adds a stack trace in the transaction trace for slow methods.
This change provides additional insight into your slowest transactions.You can adjust how slow a method is before it generates the stack trace by setting stack_trace_treshold (in seconds).transaction_tracer:stack_trace_threshold: 1.0
Cross Application Tracing support for HttpURLConnection.
Adds request and response headers to external calls using the HttpURLConnection library to provided better performance data when calling applications monitored by other New Relic Agents (Java, .NET, and Ruby, with others coming soon).
Fix: Cross Application Tracing does not correlate consistently when using WebSphere, WebLogic, Resin, and Glassfish.
Cross Appplication Tracing did not correlate calling and called applications when the HTTP response was large.
Queuing time more broadly supported.
The 'X-Queue-Start' and 'X-Request-Start' request headers for Heroku and other frontend web servers are interpreted and reported. Previously, queuing time was not reported for Heroku.
Work-around for Oracle JVM bug that in rare cases causes a native memory leak
In rare cases, the Oracle JVM can leak native OS memory (not heap space) when classes are intercepted by the agent. This setting turns off interception of classes that are loaded after the given number of seconds. The agent will continue to monitor classes loaded before this time.class_transformer:shutdown_delay: 3600
Fix: Cross Application Tracing does not correlate consistently when using Tomcat 6+
Cross Appplication Tracing did not correlate calling and called applications when the called application ran in Tomcat 6 or later and the HTTP response was greater than about 7k.
Cross Application Tracing
The Cross Application Tracing feature adds request and response headers to external calls using the Apache HttpClient libraries to provided better performance data when calling applications monitored by other New Relic Agents (Java, .NET, and Ruby, with others coming soon).
The 2.14.0 release links aggregated data across applications. This release also links transaction traces.
The configuration setting introduced in 2.14.0 to enable/disable Cross Application Tracing in newrelic.yml has changed. The old setting: 'cross_application_tracing: true' is deprecated. The new setting is
The default setting is true. Set to false to disable Cross Application Tracing.
Instrumentation added for the AmazonS3Client version 1.x
The New Relic Agent now offers support for version 1.0 to current of the com.amazonaws.services.s3.AmazonS3 interface.
New Relic Java Agent support a daily roll over log
To roll over the agent log every day, set the property log_daily to true. Set the property log_file_count to the number of day logs you would like to keep.
New Relic Java Agent now communicates with New Relic via HTTPS by default rather than HTTP
If you have an existing installation and wish to use HTTPS to communicate with New Relic, edit your newrelic.yml file to include
in the common section. We recommend this for existing customers in order to improve the security of your communications with New Relic.
Java Agent installer improvements
The Java Agent installer now supports JBoss 7.x AS and JBoss 6.x EAP in standalone mode. Instructions for manually installing the Java Agent on JBoss 7.x AS and JBoss 6.x EAP can be found at https://newrelic.com/docs/java/installing-the-java-agent-on-jboss.
Fix: Default hostname reported
This release reverts the change in 2.14.0 that effected the way that the hostname is reported. With this release, the agent reports the default hostname rather than short form in order to correlate with New Relic server monitoring.
Fix: Web transactions naming in Spring MVC version 3.x
This bug caused customers using Spring 3.0.1 and above to often have web transactions named by the servlet rather than controller method. This has been fixed such that a separate metric is created for each controller method.