Prudence
Problèmes connus: Cette sortie présente un problème connu avec certaines utilisations de Netty Reactor qui peuvent provoquer des fuites de mémoire. Veuillez envisager d'utiliser une autre version.
Nouvelle fonctionnalité et améliorations
- Améliore la visibilité des appels Reactor
Mono.flatMap2308 - Ajoute une nouvelle instrumentation pour Spring-Kafka et le traçage distribué lors de l'utilisation du client Kafka de base (bibliothèque 2312).
- Ajoute la prise en charge de
KafkaConsumerConfigévénements pour Kafka 3.7+ 2358
Corrections
Corrige la configuration
distributed_tracing.sampler2330Corrige une erreur d'accès illégal pouvant survenir lors de l'utilisation de Scala 2.12 et JDK 11. Dans les cas où Scala 2.12 n'est pas détectable par l'agent (nous vérifions le chargeur de classes système à cet effet - notamment, sbt charge les classes Scala dans des chargeurs Scala personnalisés), il existe également un indicateur de fonctionnalité permettant d'activer manuellement le correctif via la propriété système
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334Correction des transactions « Inconnues » de netty : 2274 et 2355
- Ce correctif déplace les modifications d'instrumentation Netty précédentes derrière un indicateur de fonctionnalité, ce qui offre une visibilité supplémentaire dans certains cas impliquant des transactions HTTP2. Pour réactiver cette granularité (au prix possible de voir des transactions « inconnues »), utilisez le paramètre de configuration :
netty:http2:frame_read_listener:start_transaction: true- La version 8.20 comporte une erreur logique dans la configuration de l'agent ; le correctif n'est donc officiel que pour la version 8.21 et les versions ultérieures.
Ajoute une restriction sur le moment où il faut ajouter des en-têtes tracedistribuée pour les messages SQS. Cela dépend de la taille du contenu d'un message en octets et de la taille de l'attribut. Les messages d'une taille supérieure à 251 Ko et/ou comportant 9 attributs ou plus sont exclus du calcul traceen-têtes distribués ajoutés (ligne 2353).
Permet de masquer le fichier JAR
org.cracafin d'éviter les conflits avec les environnements clients. 2344Intégration des modifications apportées dans la PR #1927 pour empêcher
NullPointerExceptionsvers les anciennes versions de l'instrumentationvertx-core2327Empêche la création de segments de transaction excessifs par les appels de méthode
HttpUrlConnection(par exemplegetInputStream) lorsqu'ils ne sont pas associés à un appel externe. Ce comportement peut être contrôlé par les options de configuration suivantes :NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false, ou strophe équivalente dansnewrelic.yml. La valeur par défaut esttrue(c'est-à-dire Les méthodes de gestion des réponses non externesgetInputStreamet autres seront signalées comme précédemment). 2365
Sécurité
- Améliore la sécurité grâce à la traçabilité infinie (2339)
com.newrelic.agent.java:infinite-tracing-protobuf - Remplace
snakeyamlparcom.konloch:safeyamlpour corriger une faille de sécurité 2333
Dépréciations
Les modules d'instrumentation suivants sont obsolètes et seront supprimés lors de la prochaine sortie majeure :
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
Mise à jour de la version CSEC vers la version 1.7.0 2348\ Log des modifications : https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
Mise à jour vers la dernière version
Pour identifier la version de l’agent Java que vous utilisez actuellement, exécutez java -jar newrelic.jar -v. Votre version d'agent Java sera imprimée sur votre console.
Ensuite, pour mettre à jour vers la dernière version de l'agent Java :
- Sauvegardez l’ intégralité du répertoire racine de l’agent Java vers un autre emplacement. Renommez ce répertoire en
NewRelic_Agent#.#.#, où#.#.#est le numéro de version de l'agent. - Téléchargez l'agent..
- Décompressez le nouveau fichier de téléchargement de l'agent, puis copiez
newrelic-api.jaretnewrelic.jardans le répertoire racine de l'agent Java d'origine. - Comparez votre ancien
newrelic.ymlavec lenewrelic.ymlnouvellement téléchargé à partir du zip et mettez à jour le fichier si nécessaire. - Redémarrez votre répartiteur Java.
Si vous rencontrez des problèmes après la mise à jour de l'agent Java, effectuez la restauration à partir du répertoire de l'agent New Relic sauvegardé.
Différences de configuration de l'agent de mise à jour
Nous ajoutons de nouveaux paramètres à newrelic.yml à mesure que nous sortons de nouvelles versions de l'agent. Vous pouvez utiliser diff ou un autre utilitaire de comparaison pour voir ce qui a changé et ajouter les nouveaux paramètres de configuration à votre ancien fichier. Assurez-vous de ne pas écraser les personnalisations que vous avez apportées au fichier, telles que votre clé de licence, le nom de l'application ou les modifications apportées aux paramètres par défaut.
Par exemple, si vous diff les fichiers par défaut newrelic.yml pour les versions 7.10.0 et 7.11.0 de l'agent Java, les résultats imprimés sur la console seront comme suit :
➜ 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...Dans cet exemple, ces lignes ont été ajoutées à la valeur par défaut newrelic.yml dans la version 7.11.0 de l'agent Java. Si vous passez à la version 7.11.0 ou supérieure, vous devez ajouter ces nouvelles lignes à votre newrelic.yml d'origine.
Déclaration de soutien :
- New Relic vous recommande de mettre à niveau l'agent régulièrement pour vous assurer de bénéficier des dernières fonctionnalités et avantages en termes de performances. De plus, les anciennes sorties ne seront plus prises en charge lorsqu'elles atteindront leur fin de vie.
Nouvelle fonctionnalité et améliorations
Prise en charge du CRaC 2250
Prise en charge de JDK24 2284
Options d'échantillonnage ajoutées lorsqu'un traceparent entrant existe 2279
- Ces options définissent la manière dont l'agent doit gérer l'échantillonnage des étendues, en fonction des décisions d'échantillonnage prises pour leur parent d'étendue par une entité en amont. Les options configuration
remote_parent_sampledetremote_parent_not_sampledspécifient ce qu'il faut faire dans le cas où le parent span a été échantillonné ou non échantillonné, respectivement. Consultez la documentation pour obtenir tous les détails de configuration.
- Ces options définissent la manière dont l'agent doit gérer l'échantillonnage des étendues, en fonction des décisions d'échantillonnage prises pour leur parent d'étendue par une entité en amont. Les options configuration
Prise en charge d'Undertow en tant que module autonome 2269
- Cette instrumentation est désactivée par défaut pour éviter les conflits avec l'instrumentation Wildfly existante. Pour activer cette instrumentation pour les applications serveur Undertow autonomes, utilisez le paramètre de configuration :
class_transformer:com.newrelic.instrumentation.undertow-server-1.1.0:enabled: truePrise en charge du client Couchbase 2203
- Si le module expérimental du client Couchbase est actuellement utilisé, supprimez-le de votre répertoire d'extensions avant de procéder à la mise à niveau vers cette version de l'agent Java.
Corrections
Correction des transactions « inconnues » de Netty 2274Ce correctif déplace les modifications précédentes de l'instrumentation Netty derrière un indicateur de fonctionnalité, offrant une visibilité accrue dans certains cas impliquant des transactions HTTP/2. Pour réactiver cette granularité (au risque d'afficher les transactions « Inconnues »), utilisez le paramètre de configuration.:
netty:http2:frame_read_listener:start_transaction: trueRefactorisation de la récupération d'ID AWS Docker pour utiliser le délai d'expiration de 5 s 2275
Indicateur de fonctionnalité pour appliquer le correctif Kotlin
ArrayIndexOutOfBoundsExceptionà toutes les méthodes 2307- Ce correctif corrige les erreurs qui peuvent être observées lors de l’exécution de l’agent Java dans un environnement où les fonctions de suspension de Kotlin sont utilisées. Pour utiliser ce correctif, définissez la propriété système
-Dnewrelic.config.class_transformer.clear_return_stacks=true
- Ce correctif corrige les erreurs qui peuvent être observées lors de l’exécution de l’agent Java dans un environnement où les fonctions de suspension de Kotlin sont utilisées. Pour utiliser ce correctif, définissez la propriété système
Empêcher le verrouillage du cache pour l'analyse des instructions de base de données longues 2294
Ajouter une configuration pour spécifier si java.sql est chargé par le chargeur de classe de la plateforme 2267
Dépréciations
Les modules d'instrumentation suivants sont obsolètes et seront supprimés lors de la prochaine sortie majeure :
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
Prudence
Problèmes connus: Cette version présente un problème connu avec Netty où des transactions « inconnues » persistent. Veuillez effectuer la mise à jour vers une version ultérieure.
Mise à jour vers la dernière version
Pour identifier la version de l’agent Java que vous utilisez actuellement, exécutez java -jar newrelic.jar -v. Votre version d'agent Java sera imprimée sur votre console.
Ensuite, pour mettre à jour vers la dernière version de l'agent Java :
- Sauvegardez l’ intégralité du répertoire racine de l’agent Java vers un autre emplacement. Renommez ce répertoire en
NewRelic_Agent#.#.#, où#.#.#est le numéro de version de l'agent. - Téléchargez l'agent..
- Décompressez le nouveau fichier de téléchargement de l'agent, puis copiez
newrelic-api.jaretnewrelic.jardans le répertoire racine de l'agent Java d'origine. - Comparez votre ancien
newrelic.ymlavec lenewrelic.ymlnouvellement téléchargé à partir du zip et mettez à jour le fichier si nécessaire. - Redémarrez votre répartiteur Java.
Si vous rencontrez des problèmes après la mise à jour de l'agent Java, effectuez la restauration à partir du répertoire de l'agent New Relic sauvegardé.
Différences de configuration de l'agent de mise à jour
Nous ajoutons de nouveaux paramètres à newrelic.yml à mesure que nous sortons de nouvelles versions de l'agent. Vous pouvez utiliser diff ou un autre utilitaire de comparaison pour voir ce qui a changé et ajouter les nouveaux paramètres de configuration à votre ancien fichier. Assurez-vous de ne pas écraser les personnalisations que vous avez apportées au fichier, telles que votre clé de licence, le nom de l'application ou les modifications apportées aux paramètres par défaut.
Par exemple, si vous diff les fichiers par défaut newrelic.yml pour les versions 7.10.0 et 7.11.0 de l'agent Java, les résultats imprimés sur la console seront comme suit :
➜ 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...Dans cet exemple, ces lignes ont été ajoutées à la valeur par défaut newrelic.yml dans la version 7.11.0 de l'agent Java. Si vous passez à la version 7.11.0 ou supérieure, vous devez ajouter ces nouvelles lignes à votre newrelic.yml d'origine.
Déclaration de soutien :
- New Relic vous recommande de mettre à niveau l'agent régulièrement pour vous assurer de bénéficier des dernières fonctionnalités et avantages en termes de performances. De plus, les anciennes sorties ne seront plus prises en charge lorsqu'elles atteindront leur fin de vie.
New features and improvements
- 2238 Support Adding Labels to APM Forwarded Logs by @deleonenriqueta
- 2246 Update Config File to Include APM Forwarded Log Labels Options by @deleonenriqueta
- 2243 Add response attributes for http4s server modules by @kanderson250
- 2230 Default proxy_scheme setting to "http" by @jtduffy
- 2259 Add support for server-side application logging configs by @obenkenobi
Fixes
- 2228 invokeSuspend edge case fix by @kanderson250
- 2258 Rename and reenable aws sqs modules by @kanderson250
- 2245 Update JFR service to run as a daemon by @kanderson250
IAST
- CSEC Version bump to 1.6.1 2252
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.6.1
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.
New features and improvements
- 2172 Add scala3 source detection by @kanderson250
- 2185 Vertx: decrease amount of tokens created by @meiao
- 2199 Instrumentation module for Struts2 v6.7.0 by @jtduffy
- 2203 Kafka 3.9 support by @meiao
- 2204 Sqs distributed trace by @obenkenobi
- 2202 Kafka clients node metrics by @meiao
Fixes
- 2187 Fix edge case in JsonTemplateLayout with certain escaped sequences by @jtduffy
- 2191 Correct Apdex on transaction event if an error is present by @jtduffy
- 2192 Don't add null port to hostname attribute on JFR events by @jasonjkeller
- 2197 Fix memory issue with httpclient-5.0 instrumentation by @jasonjkeller
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.
New features and improvements
- Add support for jdbc-mariadb 3.0.0 till latest and r2dbc-mariadb 1.1.2 till latest - credit to @dhilpipre - clone of 2142 by @jtduffy in 2146
- Auto discover AWS account ID in the DynamoDB instrumentation by @meiao in 2148
- Auto discover AWS account ID in the Lambda sdk instrumentation by @meiao in 2167
- Support pekko-http on scala 3 for versions 1.0.0 till latest by @kanderson250 in 2163
- Allow JFR queue size and harvest interval to be configured via agent config by @jtduffy in 2168 New configs are:
jfr: # The time interval, in seconds, of how often JFR data is sent to New Relic. # The default is 10 seconds. harvest_interval: 10
# The size of the queue used to store JFR events. Increasing this can reduce gaps in JFR reported data # but can also cause resource issues in the agent or cause data to be dropped if backend pipeline # limits are exceeded. # See: https://docs.newrelic.com/docs/data-apis/ingest-apis/event-api/introduction-event-api/#limits # https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/metric-api-limits-restricted-attributes/ # Default is 250000 queue_size: 250000- Add AWS Firehose SDK Instrumentation for versions 2.1.0 till latest by @obenkenobi in 2149
- Implement a new instrumentation module for r2dbc-mysql 1.1.3+ by @jbedell-newrelic in 2169
- Memory usage reduced for the r2dbc-mssql and m2dbc-mysql modules by @jbedell-newrelic in 2169
- Log when multiple, different, traceparent headers found on inbound request and only report
invalid parent header countsupportability metric when that scenario occurs by @jtduffy in 2154 - Expected NPE in noticeTracer no longer logs full stack trace by @jasonjkeller in 2143
Fixes
- Resolved a potential token timeout issue with the reactor-3.3.0 module by @jbedell-newrelic in 2169
IAST
- CSEC version bump to 1.6.0 2173
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.6.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.
New features and improvements
- Obfuscate JVM properties 2114
The Java agent will now obfuscate values passed to JVM properties. For example:-Dprop=12345will now be sent as-Dprop=obfuscated. The documentation has information on how to disable obfuscation and how to add exceptions.
- Cloud API 2081
The Cloud API allows cloud provider account information to be provided to the agent. This will allow the agent to populate thecloud.resource_idattribute in calls to select cloud services.
The API documentation has information on how to use it programmatically.
This information can also be provided using a configuration option.
Support distributed tracing for Kafka Stream 3.7.x 2095
Report if agent was installed via Azure site extension 2094
Lazy initialization of GUIDs on DefaultTracers 2088
Java HttpClient: Addition of status code to reported externals 2089
AWS Lambda: populate
cloud.resource_idusing data from Cloud API 2115Kinesis Data Streams: populate
cloud.resource_id2112DynamoDB: populate
cloud.resource_id2113
Fixes
Use recordResponseTimeMetric instead of recordMetric 2128
Use WeakReference HttpUrlConnection instrumentation 2082
Fix a bug where Jetty 12 would not properly link distributed traces 2140
Update to JFR daemon 1.13.0 2129
This update changes the HTTP client used, which caused problems with some proxies.
IAST
CSEC version bump to 1.5.1 2076
Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.1
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.
New features and improvements
- Addition of AWS Lambda SDK instrumentation 1998
- Reporting of Flyway migration events 2021
- Add support for using an environment variable for config file location 2022
- Support AWS Kinesis V1 and V2 SDKs 2031
- Addition of kafka-clients-node-metrics-3.7.0 Instrumentation module 2039
- Add instrumentation for glassfish-jul-extension logging library 2049
- Java 23 support 2055
- Support reporting of ECS Fargate Docker ids 2050
- Actuator endpoint transaction naming for Spring Boot 3 2077
Fixes
- Slick 3.5.0 instrumentation bug fix 2025
- Protect against Http2Headers methods throwing exceptions in Netty instrumentation 2042
- Fix an issue where the Kinesis instrumentation is generating ERROR logs due to a NullPointerException 2052
IAST
- CSEC version bump to 1.5 2076
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.0
Full Changelog: https://github.com/newrelic/newrelic-java-agent/compare/v8.14.0...v8.15.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.
New features and improvements
- The Java agent supports disabling AI Monitoring at the account/organization level 1972
- HikariCP instrumentation now captures additional metrics 1976
- Adds new instrumentation module for
kafka-clients-metrics-3.7.02001 - Adds new instrumentation module for
jedis-5.0.01969 - Adds new instrumentation module for
vertx-sqlclient-4.4.22004 - The
newrelic-scala-apifor Scala 3 will now be published to Maven 1995 - New AWS MQ attributes will be added to spans 1977
- Clarify Javadoc comments for
@TraceAPI 2009
Fixes
- Fixes a
netty-reactorissue that was causing high memory usage 1978 - Netty instrumentation will start transactions for HTTP/2 requests 1994
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.3spring-3.0.0netty-3.4Struts v1
IAST
- CSEC Version bump to 1.4.1 2010
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.4.1
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.
New features and improvements
- Add attributes to AWS SQS spans that allow linking to SQS entities 1954
- Add support for Graphql 22.0+ 1912
- Add support for JSP v4 1951
- Add instrumentation for HikariCP 2.4.0 to replace existing extension module.1964
- Note: If the New Relic HikariCP incubator module is currently in use, delete it from the new relic jar’s extension folder before upgrading to this version of the Java Agent.
- Enhance CompletableFuture instrumentation for JDK11+ 1908
- Enable RUM script injection via JSP v3 Tag library 1943
- Fetch the docker container ID for ECS Fargate instances 1952
Fixes
- Fix R2dbc postgresql 0.9.2 instrumentation to prevent memory leaks 1916
- Update vertx-web instrumentation to start transactions for HTTP/2 requests 1959
- Update JFR Instance Naming to display correct number of JVMs 1928
- Close instrumentation gap for akka-http 10.2.0+ 1955
- Start transactions in the Jetty12 core server 1950
- Clean up dtTracers and externalTracers after exceptions to prevent memory leaks 1902
- Add security-related class excludes during normal class transformer creation 1918
- Add null checks to vertx 4.5.1 instrumentation 1927
IAST
Deprecations
- The browser footer injection APIs have been deprecated and will be removed in a future agent release. The header injection API now adds both the header and footer scripts. 1679
The following instrumentation modules are deprecated and will be removed in the next major release:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3spring-3.0.0netty-3.4Struts v1
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.