Improvements
Spring 5
The Java Agent now provides instrumentation for Spring 5 and Webflux. The agent will name transactions based on router functions as well as Spring controller and spring web annotations. The agent also provides support for Spring WebClient to capture external requests and timing.
Spring 5 instrumentation works with Spring Boot, Tomcat, and Jetty.
Note if you have previously disabled Spring instrumentation: There is a new
spring-4.3.0instrumentation module that gets used in place of the previousspring-4.2.0module for any customers running Spring 4.3.0 and above. If you had previously disabled support for spring-4.2.0 and you are running spring-4.3.0 you will want to change yourclass_transformersection in your newrelic.yml from:class_transformer:com.newrelic.instrumentation.spring-4.2.0:enabled: falseto:
class_transformer:com.newrelic.instrumentation.spring-4.3.0:enabled: false
Fixes
- Fixes an issue where the agent could cause an application deadlock when two tokens are created and linked from the other’s thread. This affects users of the New Relic token API and also users of the Hystrix framework.
- Fixes an issue where the agent would not capture JMX Datasource information from Tomcat when JDNI GlobalNamingResources is used.
Known Issues
Transaction reporting to New Relic may be delayed by up to 10 minutes when Spring WebClient is used to create http requests that never execute.
Improvements
Apache HttpAsyncClient
The Java agent now provides instrumentation for Apache HttpAsyncClient 4.1+. You will see your HttpAsyncClient calls as externals in New Relic.
AsyncHttpClient
The Java agent now provides instrumentation for AsyncHttpClient. You will now see the time spent in external service calls made using AsyncHttpClient in New Relic. If the external service is also running New Relic, you will see cross application tracing (CAT) details as well.
Vert.x 3.5
The Java agent now provides visibility into your applications built using the Vert.x 3.5. 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.
JBoss EAP 7
The Java Agent now provides instrumentation for JBoss EAP 7. You will now see the same visibility into your web transactions, app server stats, and frameworks that you have with previous versions of JBoss EAP.
Play 2.7
The Java Agent now provides instrumentation for Play 2.7. The previous Java agent release supports versions of Play up to 2.6.
WebSphere Liberty
Added ThreadPool metrics for WebSphere Liberty Profile. You will now see the active threads in the Threads tab of the JVM metrics page
Fixes
- Fixes an issue where OKHttp 3 was not tracking external total time correctly.
- Fixes an issue where for some JDBC drivers, the agent would execute additional getMetaData queries..
- Fixes an issue with the agent’s Scala instrumentation that could result in incorrect throughput, invalid or negative data in transaction segments, or inability to ignore status codes.
- Fixes an issue with the play-ws instrumentation that caused ClassNotFound exceptions to occur in the agent logs when
withHeadersis used. This could result incomplete transactions and attributes in RPM.
개량
- 자바 10
뉴렐릭 자바 에이전트는 이제 자바 10과 완벽하게 호환됩니다. JDK 릴리스 및 자바 에이전트에 대한 자세한 내용은 Explorers Hub의 이 주제를 참조하십시오.
- 자바 6과 호환되지 않습니다.
JVM에서 실행하는 고객에게 지속적으로 혁신하고 새로운 기능을 효율적으로 제공하기 위해, 이번 및 향후 에이전트 버전은 자바 6과 호환되지 않습니다. 자바 6을 실행 중인 경우, 자바 에이전트 4.3.0 이하 버전을 계속 사용할 수 있습니다. 자세한 내용은 Explorers Hub의 이 주제를 참조하십시오.
- Akka 2.5 및 Akka HTTP 10.1
이제 자바 에이전트는 Akka 2.5.x 및 Akka HTTP 10.1.x를 지원합니다. Akka HTTP 호출을 뉴렐릭 트랜잭션으로 확인하고, Akka 액터 간의 핸드오프를 확인하며, 다른 데이터베이스 및 서비스에 대한 호출을 이해할 수 있습니다.
- Solr 7
이제 자바 에이전트는 Solr 7.x를 지원합니다. 뉴렐릭의 Solr 지원은 Solr 서버에 대한 데이터베이스 호출을 보고할 뿐만 아니라 Solr 서버 자체를 모니터합니다.
알려진 문제: 이번 릴리스부터 Solr 7에 대한 JMX 통계 수집이 지원되지 않습니다.
- WebLogic 데이터 소스
이제 자바 에이전트는 JVM 페이지의 Datasource 탭에 WebLogic의 데이터 소스에 대한 상태 데이터를 표시합니다.
수정 사항
- JVM의 로캘 설정에 따라 자바 에이전트 4.3.0에서 데이터를 보고하지 않던 문제를 수정했습니다. 자바 에이전트 4.3.0 JVM 로캘이 쉼표를 소수점으로 사용하도록 설정된 경우 이벤트 데이터를 전송하지 못했습니다. 에이전트 로그에서 NumberFormatException을 확인할 수 있습니다.
- 미래의 수정 날짜가 있는 확장을 사용할 때 에이전트가 클래스를 지속적으로 재변환하려고 잘못 시도하여 CPU 부하가 크게 증가하는 드문 문제를 수정했습니다.
- 영향을 받는 요청이 재시도되고 자바 에이전트가 헤더 데이터를 보고하지 않도록 하는 Mule 계측에서 나타나는 ning 계측으로 인해 발생한 ConcurrentModificationException을 수정했습니다.
enable_auto_app_naming이(가) true로 설정되고distributed_tracing.enabled이(가) true로 설정된 경우 모든 분산 트레이스 이벤트를 샘플링하는 문제를 수정했습니다. 이제 에이전트에 두 구성이 모두 활성화되어 있으면 분산 추적을 켜지 않습니다.
Improvements
- Distributed tracing
Distributed tracing lets you see the path that a request takes as it travels through your distributed system. By showing the distributed activity through a unified view, you can troubleshoot and understand a complex system better than ever before.
Distributed tracing is available with an APM Pro or equivalent subscription. To see a complete distributed trace, you need to enable the feature on a set of neighboring services. Enabling distributed tracing changes the behavior of some New Relic features, so carefully consult the transition guide before you enable this feature.
To enable distributed tracing, set enabled to true in the distributed_tracing section in the newrelic.yml config file.
distributed_tracing: enabled: true- Added configuration option
proxy_schemeto allow the agent to connect via https only proxies.
Fixes
- Fixed an issue where transaction throughput counts could be artificially inflated when using async servlets in Jersey.
- Fixed an issue where JBoss and Wildfly datasources could cause a
LinkageError.
Bug fixes
- Fixed a bug where transactions were being kept alive for too long when application is under heavy GC, causing inaccurate throughput to be reported.
- Fixed a bug in which Akka routing instrumentation could cause extra memory usage. When this is the case, the transaction throughput will look significantly lower than anticipated.
- Fixed a rare bug in Play WS instrumentation where exceptions thrown by instrumentation were propagated out to the application code, potentially causing the request to error.
- Fixed a bug where Jersey Client and HttpUrlConnection could be double instrumented, resulting in inflated external call count.
- Fixed a bug where the total time and response time for a long running task could be misreported.
Improvements
- Configuration for
custom_insights_events.max_samples_storedformat in YAML has been changed. For agents 4.1.0 and above, the old .yml config setting will be ignored, which will result in the agent defaulting to max samples stored of 10,000 custom events. When you update your agent, please migrate to the new format:
custom_insights_events: enabled: true max_samples_stored: 5000- The agent will log a warning message when it detects that the
java.endorsed.dirsproperty is used. Classes in these directories cannot be instrumented by the agent because they are loaded by the bootstrap classloader.
Fixes
- Ensure that custom events added during a transaction do not get discarded if the transaction is ignored via a call to
NewRelic.ignoreTransaction(). - A security update that corrects an issue affecting PostgreSQL that could occur if High-security mode was enabled (or
record_sqlwas set to off) and a query ran slow enough to trigger an explain plan. If the above conditions were met the agent may not have properly stripped out all information from the query. For information on this fix, see the security bulletin. - Addresses cases where the agent could not parse database statements that included the
IGNOREandINTOkeywords.
Fixes
- Fixes an issue Introduced in 3.48.0 with event sampling. The agent would only report the first max_samples_stored events in a given minute reporting period and disregard the remainder for that minute. With the fix, the agent randomly samples those events across the reporting period.
Improvements
- Removed the SSL configuration option: SSL is now always used in communication with New Relic servers. The
newrelic.ymlssl configuration and-Dnewrelic.config.sslsystem property are no longer used. Setting either value to anything other than true will result in logging a warning. - Minimum version required for use in EU data center.
Fixes
- Fixes an issue where the thread profiler could fail to report. In this case, the agent logged a
java.lang.StackOverflowError.
Improvements
- Customers using Tomcat, WebSphere Liberty, or Resin now have data source information available. Data source information includes the number of active and idle connections, as well as the maximum possible connections. This information can be seen under the Data Source tab on the JVMs page
- CompletableFuture instrumentation is more efficient
- Disabling SSL connections to New Relic has been deprecated. SSL connections are enabled by default. In a future release, the option to disable SSL will be removed.
Bug fixes
- Fixed an issue that in rare cases prevented Play async transaction tracking
- Fixed a memory leak that could occur in Spymemcached instrumentation
- Fix to disable
attributes.includelists when High-security mode is enabled - Fixed an issue where errors outside of a transaction did not contain custom attributes on the event
- Fixed an issue that caused the UI to not display errors that had error messages over 255 bytes