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.
주의
Problemas conocidos: Esta versión tiene un problema conocido con ciertos usos de Netty Reactor que puede provocar fugas de memoria. Considere emplear otra versión.
Nuevas características y mejoras
- Mejora la visibilidad de las llamadas al Reactor
Mono.flatMap2308 - Agrega nueva instrumentación para Spring-Kafka y rastreo distribuido al usar la biblioteca cliente principal de Kafka 2312
- Agrega compatibilidad con eventos
KafkaConsumerConfigpara Kafka 3.7+ 2358
Correcciones
Corrige la configuración
distributed_tracing.sampler2330Corrige un error de acceso ilegal que puede ocurrir al usar Scala 2.12 y JDK 11. En los casos en que Scala 2.12 no sea detectable por el agente (comprobamos el cargador de clases del sistema para ello; cabe destacar que sbt cargará las clases Scala en cargadores Scala personalizados), también existe una bandera de característica para habilitar manualmente la corrección a través de la propiedad del sistema
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334Corregir transacciones 'Desconocidas' de Netty 2274 2355
- Esta solución mueve los cambios anteriores de instrumentación de netty detrás de una bandera característica, lo que brinda visibilidad adicional en algunos casos que involucran transacciones HTTP2. Para volver a habilitar este detalle (con el posible costo de ver transacciones "Desconocidas"), use la configuración:
netty:http2:frame_read_listener:start_transaction: true- La versión 8.20 tiene un error lógico en la configuración del agente, por lo que la corrección solo es oficial en la versión 8.21 del agente y superiores.
Agrega una restricción sobre cuándo agregar encabezados de rastreo distribuido para los mensajes SQS. Esto se basa en el tamaño del contenido de un mensaje en bytes y en el tamaño del atributo. Los mensajes con un tamaño superior a 251 KB o con 9 o más atributos se excluyen de recibir los encabezados de rastreo distribuido añadidos 2353
Permite que el archivo JAR
org.cracse oculte para evitar conflictos con los entornos de los clientes. 2344Retroporta los cambios realizados en la solicitud de extracción n.° 1927 para evitar
NullPointerExceptionsen versiones anteriores de la instrumentaciónvertx-core2327Evita la creación de segmentos de transacción excesivos mediante llamadas al método
HttpUrlConnection(por ejemplo).getInputStream) cuando no están asociados con una llamada externa. Este comportamiento se puede controlar mediante las siguientes opciones de configuración:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=falseo stanza equivalente ennewrelic.yml. La configuración predeterminada estrue(es decir, Los métodos de manejo de respuestas no externosgetInputStreamy otros se reportarán como antes). 2365
Seguridad
- Actualiza
com.newrelic.agent.java:infinite-tracing-protobufpara mayor seguridad con seguimiento infinito 2339 - Reemplaza
snakeyamlconcom.konloch:safeyamlpara solucionar una vulnerabilidad de seguridad 2333
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
IAST
Actualización de la versión CSEC a la 1.7.0 2348\ log de cambios: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
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.