Java Agent 3.10.0

Released on: 
Tuesday, August 26, 2014 - 07:43

Improvements

  • Full support for Java SE 8

    The New Relic Java agent now supports Java SE 8! Applications can now run on a Java 8 JVM, including those compiled to target Java 8 (i.e. -target 1.8). The system property newrelic.enable.java.8 is no longer necessary.

  • @RequestMapping annotation used to name web transactions

    Where available, Spring Web Transactions are now named using the URI path pattern defined in the @RequestMapping annotation. This generally provides even more meaningful transaction names than controller methods. To disable this and revert back to naming using controllers, add this config to your newrelic.yml:

    instrumentation:
        spring_annotations:
           enabled: false
    
  • WebSphere JMX metrics reported when global security is enabled

    Prior to this version, JMX metrics could not be pulled by the agent with WebSphere when global security was enabled. This means custom JMX metrics in a yaml file and default JMX metrics displayed on the JVM Threads and Http Sessions tabs were not reported.

  • Servlet UserPrincipal name can be reported as an attribute

    With this release, you can enable the capturing of the UserPrincipal name so that it is available in New Relic Insights and as a transaction trace attribute. To enable:

    class_transformer:
        com.newrelic.instrumentation.servlet-user:
          enabled: true
    
  • Non-Web Transactions can now be made Key Transactions with a custom apdex T

    This feature will be available in the RPM UI very soon. It requires this or a higher version of the agent.

Fixes

  • Fix: Web transactions not always reported.

    In some unusual cases the Agent stopped reporting web transactions. The agent would log an error that included the phrase "Inconsistent state"

  • Fix: WebSphere 7 reports active thread count on the JVM tab

    The thread pool active count being displayed in the UI was actually the pool size.

  • Fix: Excess error reporting in Play apps

    In Scala/Play apps, the agent was incorrectly logging errors when promises were resolved with a Failure.

  • Fix: Request headers are not read when cross application tracing is disabled

    Disabling cross application tracing using these config settings did not stop the Agent from reading request headers.

    cross_application_tracer:
    enabled: false
    
  • Fix: NewRelic API methods prematurely deprecated

    In 3.9.0, some API calls in com.newrelic.api.agent.NewRelic were prematurely deprecated. We are in the process of providing a more complete API for the New Relic agent. In an upcoming release, these methods may become deprecated, but with a stable and superior API alternative.