Fixes
- Fixes Kotlin Coroutine error about third party implementation of
CancellableContinuation
Deprecations
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
Update to latest version
To identify which version of the Java agent you're currently using, run java -jar newrelic.jar -v. Your Java agent version will be printed to your console.
Then, to update to the latest Java agent version:
- Back up the entire Java agent root directory to another location. Rename that directory to
NewRelic_Agent#.#.#, where#.#.#is the agent version number. - Download the agent.
- Unzip the new agent download file, then copy
newrelic-api.jarandnewrelic.jarinto the original Java agent root directory. - Compare your old
newrelic.ymlwith the newly downloadednewrelic.ymlfrom the zip, and update the file if needed. - Restart your Java dispatcher.
If you experience issues after the Java agent update, restore from the backed-up New Relic agent directory.
Update agent config differences
We add new settings to newrelic.yml as we release new versions of the agent. You can use diff or another diffing utility to see what's changed, and add the new config settings to your old file. Make sure not to overwrite any customizations you've made to the file, such as your license key, app name, or changes to default settings.
For example, if you diff the default newrelic.yml files for Java agent versions 7.10.0 and 7.11.0, the results printed to the console will be like:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...In this example, these lines were added to the default newrelic.yml in Java agent version 7.11.0. If you're moving to 7.11.0 or higher, you should add these new lines to your original newrelic.yml.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.
Nuevas características y mejoras
- Se agrega compatibilidad con Java 25 por @deleonenriqueta en 2512
- Se agrega compatibilidad con Logback-1.5.20 por @jtduffy en 2535
- Introduce una opción de configuración para deshabilitar la ejecución de las expresiones regulares
callyexecdel analizador SQL por @jtduffy en 2490 - Agrega compatibilidad con Kotlin Coroutines v1.4+ por @dhilpipre en 2454
- Agrega compatibilidad con las funciones suspendidas de Kotlin Coroutines generadas fuera de Kotlin Coroutines por @dhilpipre en 2456
- Introduce una configuración de preferencia para múltiples hosts durante la detección de almacenamiento de datos por @jbedell-newrelic en 2508
- Agrega una propiedad del sistema para configurar la función de omisión de artefactos por @jtduffy en 2509
- Agrega una opción de configuración que permite nombrar las transacciones del controlador Spring empleando el nombre de la clase del controlador y el nombre del método (por @sharvath-newrelic en 2532).
- Implementa SamplerConfig, centralizando todas las configuraciones
distributed_tracing.samplerenSamplerConfigpor @jasonjkeller en 2529 - Actualizaciones de la instrumentación del productor
kafka-clients-spans-0.11.0.0para usar las APImodernas de rastreo distribuido con soporte W3C Trace Context por @sharvath-newrelic en 2516
Correcciones
- Corrige el análisis de los nombres de clase de error por @sharvath-newrelic en 2497
- Corrige un posible problema de memoria causado por un logging de errores excesivamente grande debido a un seguimiento de stack excesivamente grande (por @jtduffy en 2498).
- Aclaración de los mensajes de logs para atributos no válidos en eventos personalizados y eventos de logs por @sharvath-newrelic en 2501
Desusos
Los siguientes módulos de instrumentación están obsoletos y se eliminarán en la próxima versión principal.
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1spring-3.0.0thrift-0.8solr-4.0.0solr-5.0.0jdbc-inet-merliajdbc-inet-oranxograils-1.3rabbit-amqp-1.7.2rabbit-amqp-2.4.1rabbit-amqp-2.5.0rabbit-amqp-2.7.0glassfish-3hibernate-3.3hibernate-3.5jdbc-jtds
Actualizar a la última versión
Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.
Luego, para actualizar a la última versión del agente de Java:
- Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a
NewRelic_Agent#.#.#, donde#.#.#es el número de versión del agente. - Descargar el agente..
- Descomprima el archivo de descarga del nuevo agente y luego copie
newrelic-api.jarynewrelic.jaren el directorio raíz del agente de Java original. - Compare su
newrelic.ymlantiguo con elnewrelic.ymlrecién descargado del zip y actualice el archivo si es necesario. - Reinicie su despachador de Java.
Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.
Actualizar diferencias de configuración del agente
Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.
Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.
Declaración de apoyo:
- New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.
Nuevas características y mejoras
- Soporte para MongoDB Reactive Streams 5.2.0 y versiones posteriores por @obenkenobi en 2465
- Apoyo a Jedis 6 por @kanderson250 en 2466
Correcciones
- CouchBase: Agregar clase de omisión para evitar la doble instrumentación por @jtduffy en 2462
- Spring WebClient 5.x: Solo envuelve los encabezados en lugar de la respuesta completa por @jtduffy en 2464
Desusos
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
Actualizar a la última versión
Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.
Luego, para actualizar a la última versión del agente de Java:
- Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a
NewRelic_Agent#.#.#, donde#.#.#es el número de versión del agente. - Descargar el agente..
- Descomprima el archivo de descarga del nuevo agente y luego copie
newrelic-api.jarynewrelic.jaren el directorio raíz del agente de Java original. - Compare su
newrelic.ymlantiguo con elnewrelic.ymlrecién descargado del zip y actualice el archivo si es necesario. - Reinicie su despachador de Java.
Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.
Actualizar diferencias de configuración del agente
Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.
Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.
Declaración de apoyo:
- New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.
Nuevas características y mejoras
- Actualización para soportar v24 de graphql por @jtduffy en 2425
- Agregar instrumentación de lechuga 6.5 por @kanderson250 en 2430
- @jtduffy actualizó la versión de Commons Lang a la 3.18.0 en 2421
- Agregar lechuga dbName a los parámetros de almacenamiento de datos donde esté disponible por @kanderson250 en 2423
- Agregue una variable de entorno para omitir la implementación de ciertas aplicaciones. El nombre de la variable de entorno es
NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS. Su valor es una lista separada por comas de clases principales, archivos jar ejecutables o herramientas/aplicaciones basadas en Java que el agente NO debe instrumentar (por ejemplo,NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass) por @jtduffy en 2433
Correcciones
- Se corrige un error en el cual los mensajes SQS con 8 atributos no se envían a AWS. Los mensajes SQS necesitan menos de 8 atributos para pasar los encabezados de rastreo distribuidos por @obenkenobi en 2422
- Recorte la parte "subscripción" al final del nombre del tema en el cliente de Azure Service Bus por @jbedell-newrelic en 2440
- Corregir la configuración de AutoConfiguredOpenTelemetrySdk por @jasonjkeller en 2451
Desusos
Los siguientes módulos de instrumentación están obsoletos y se eliminarán en la próxima versión principal:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
Actualizar a la última versión
Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.
Luego, para actualizar a la última versión del agente de Java:
- Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a
NewRelic_Agent#.#.#, donde#.#.#es el número de versión del agente. - Descargar el agente..
- Descomprima el archivo de descarga del nuevo agente y luego copie
newrelic-api.jarynewrelic.jaren el directorio raíz del agente de Java original. - Compare su
newrelic.ymlantiguo con elnewrelic.ymlrecién descargado del zip y actualice el archivo si es necesario. - Reinicie su despachador de Java.
Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.
Actualizar diferencias de configuración del agente
Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.
Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.
Declaración de apoyo:
- New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.
Nuevas características y mejoras
- Azure ServiceBus 7.15.0 instrumentación por @jbedell-newrelic en 2384
- Vinculación de metadatos para servicios de aplicaciones de Azure por @jbedell-newrelic en 2399
- Los errores de conexión ahora se registran como SEVERE por @jtduffy en 2377
- Registrar y ofuscar claves no válidas agregadas como atributo a logs y eventos por @jtduffy en 2388
Correcciones
- Reubicación de la biblioteca de anotaciones IntelliJ por @meiao en 2383
- Soporte para la configuración de sampling_target del lado del servidor por @jtduffy en 2386
- Eliminar la instrumentación de MonoFlatMapMain para corregir posibles fugas de memoria por @deleonenriqueta en 2400
Desusos
Los siguientes módulos de instrumentación están obsoletos y se eliminarán en la próxima versión principal:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
Actualizar a la última versión
Para identificar qué versión del agente de Java estás usando actualmente, ejecuta java -jar newrelic.jar -v. Su versión de agente de Java se imprimirá en su consola.
Luego, para actualizar a la última versión del agente de Java:
- Haga una copia de seguridad de todo el directorio raíz del agente de Java en otra ubicación. Cambie el nombre de ese directorio a
NewRelic_Agent#.#.#, donde#.#.#es el número de versión del agente. - Descargar el agente..
- Descomprima el archivo de descarga del nuevo agente y luego copie
newrelic-api.jarynewrelic.jaren el directorio raíz del agente de Java original. - Compare su
newrelic.ymlantiguo con elnewrelic.ymlrecién descargado del zip y actualice el archivo si es necesario. - Reinicie su despachador de Java.
Si tiene problemas después de la actualización del agente de Java, restaure desde el directorio del agente New Relic respaldado.
Actualizar diferencias de configuración del agente
Agregamos nuevas configuraciones a newrelic.yml a medida que lanzamos nuevas versiones del agente. Puede usar diff u otra utilidad de diferenciación para ver qué ha cambiado y agregar la nueva configuración a su archivo anterior. Asegúrese de no sobrescribir ninguna personalización que haya realizado en el archivo, como su clave de licencia, el nombre de la aplicación o los cambios en la configuración predeterminada.
Por ejemplo, si diff los archivos newrelic.yml predeterminados para las versiones 7.10.0 y 7.11.0 del agente de Java , los resultados impresos en la consola serán como:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...En este ejemplo, estas líneas se agregaron al valor predeterminado newrelic.yml en el agente de Java versión 7.11.0. Si está migrando a la versión 7.11.0 o superior, debe agregar estas nuevas líneas a su newrelic.yml original.
Declaración de apoyo:
- New Relic recomienda que actualices el agente periódicamente para garantizar que obtengas las últimas características y beneficios de rendimiento. Además, las versiones anteriores ya no recibirán soporte cuando lleguen al final de su vida útil.
Advertencia
Known issues: This release has a known issue with certain uses of Netty Reactor that can cause memory leaks. Please consider using another version.
New features and improvements
- Enhances visibility into Reactor
Mono.flatMapcalls 2308 - Adds new instrumentation for Spring-Kafka and distributed tracing when using the core Kafka client library 2312
- Adds
KafkaConsumerConfigevent support for Kafka 3.7+ 2358
Fixes
Fixes the
distributed_tracing.samplerconfig 2330Fixes an Illegal Access Error that can occur when using Scala 2.12 and JDK 11. In cases where Scala 2.12 is not detectable by the agent (we check the system classloader for this - notably, sbt will load Scala classes into custom Scala loaders), there is also a feature flag to manually enable the fix via system property
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334Fix netty 'Unknown' transactions 2274 2355
- This fix moves previous netty instrumentation changes behind a feature flag, which provides additional visibility in some cases involving HTTP2 transactions. To reenable this granularity (at the possible cost of seeing ‘Unknown’ transactions), use the config setting:
netty:http2:frame_read_listener:start_transaction: true- 8.20 has a logic error in the agent config so the fix is only official in agent version 8.21 and up.
Adds a restriction on when to add distributed trace headers for SQS messages. This is based on how large the contents of a message is in bytes and the and the size of attributes. Messages with size greater than 251 KB and/or with 9 or more attributes are excluded from getting distributed trace headers added 2353
Allows the
org.cracJAR to be shadowed to prevent conflicts with customer environments. 2344Backports changes made in PR #1927 to prevent
NullPointerExceptionsto older versions of thevertx-coreinstrumentation 2327Prevents excessive transaction segments from being created by
HttpUrlConnectionmethod calls (e.g.getInputStream) when they are not associated with an external call. This behavior can be controlled by the following config options:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false, or equivalent stanza innewrelic.yml. Default setting istrue(i.e. non-externalgetInputStreamand other response handler methods will be reported as before). 2365
Security
- Upgrades the
com.newrelic.agent.java:infinite-tracing-protobuffor better security with infinite tracing 2339 - Replaces
snakeyamlwithcom.konloch:safeyamlto address a security vulnerability 2333
Deprecations
The following instrumentation modules are deprecated and will be removed in the next major release:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
CSEC Version Update to 1.7.0 2348
Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
Update to latest version
To identify which version of the Java agent you're currently using, run java -jar newrelic.jar -v. Your Java agent version will be printed to your console.
Then, to update to the latest Java agent version:
- Back up the entire Java agent root directory to another location. Rename that directory to
NewRelic_Agent#.#.#, where#.#.#is the agent version number. - Download the agent..
- Unzip the new agent download file, then copy
newrelic-api.jarandnewrelic.jarinto the original Java agent root directory. - Compare your old
newrelic.ymlwith the newly downloadednewrelic.ymlfrom the zip, and update the file if needed. - Restart your Java dispatcher.
If you experience issues after the Java agent update, restore from the backed-up New Relic agent directory.
Update agent config differences
We add new settings to newrelic.yml as we release new versions of the agent. You can use diff or another diffing utility to see what's changed, and add the new config settings to your old file. Make sure not to overwrite any customizations you've made to the file, such as your license key, app name, or changes to default settings.
For example, if you diff the default newrelic.yml files for Java agent versions 7.10.0 and 7.11.0, the results printed to the console will be like:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...In this example, these lines were added to the default newrelic.yml in Java agent version 7.11.0. If you're moving to 7.11.0 or higher, you should add these new lines to your original newrelic.yml.
Support statement:
- New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.