新機能と改善点
- 2512に @deleonenriqueta が Java 25 サポートを追加
- 2535で@jtduffyによるLogback-1.5.20のサポートを追加
- 2490で @jtduffy によって
callおよびexecSQL パーサー正規表現の実行を無効にする設定オプションが導入されました。 - 2454で @dhilpipre による Kotlin Coroutines v1.4+ のサポートを追加しました
- 2456で @dhilpipre によって Kotlin Coroutinesの外部で生成された Kotlin Coroutinesサスペンド関数のサポートが追加されました
- @jbedell-newrelic が2508でデータストア検出中に複数のホストを設定するための設定を導入しました。
- 2509で @jtduffy によってアーティファクトスキップ機能を設定するためのシステムプロパティが追加されました
- @sharvath-newrelic によって2532で、Spring コントローラーのトランザクションにコントローラーのクラス名とメソッド名を使用して名前を付けることができる設定オプションが追加されました。
- SamplerConfig を実装し、すべての
distributed_tracing.sampler構成をSamplerConfigに一元化します(2529 年、@jasonjkeller による) - 2516 年に @sharvath-newrelic による W3Ct レースコンテキストのサポートを備えた最新のディストリビューティッド(分散)トレーシングAPIを使用するように、
kafka-clients-spans-0.11.0.0プロデューサー計装を更新しました。
修正
- 2497の @sharvath-newrelic によるエラークラス名の解析を修正
- @jtduffy による2498のエラーログのスタックトレースが大きすぎるために発生する潜在的なメモリ問題を修正しました。
- @sharvath-newrelic による、カスタムイベントとログイベントの無効な属性に関するログメッセージの明確化(2501)
廃止予定
次の 計装 モジュールは非推奨であり、次のメジャー リリースで削除される予定です。
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
最新バージョンへのアップデート
現在使用中のJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。Javaエージェントのバージョンがコンソールに出力されます。
次に、最新バージョンのJavaエージェントにアップデートするには、以下の手順に従います。
- すべてのJavaエージェントのルートディレクトリを別の場所にバックアップします。そのディレクトリの名前を
NewRelic_Agent#.#.#に変更します。ここで、#.#.#はエージェントのバージョン番号です。 - エージェントをダウンロードします。
- 新しいエージェントのダウンロードファイルを解凍し、
newrelic-api.jarとnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。 - 古い
newrelic.ymlとzipからダウンロードした新しいnewrelic.ymlを比較し、必要に応じてファイルを更新します。 - Javaディスパッチャを再起動します。
Javaエージェントのアップデート後に問題が発生する場合は、バックアップしたNew Relicエージェントディレクトリから復元します。
エージェント設定の差分のアップデート
エージェントの新しいバージョンをリリースする際に、newrelic.ymlに新しい設定を追加します。diffまたは別の差分ユーティリティを使用して変更内容を確認してから、新しい設定を古いファイルに追加できます。ライセンスキー、アプリ名、デフォルト設定の変更など、ファイルに対して行ったカスタマイズを上書きしないようにしてください。
たとえば、 Javaバージョン 7.10.0 および 7.11.0 のデフォルトのnewrelic.ymlファイルをdiffすると、コンソールに表示される結果は次のようになります。
➜ 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...この例では、これらの行はJavaエージェント バージョン 7.11.0 のデフォルトのnewrelic.ymlに追加されました。 7.11.0 以降に移行する場合は、これらの新しい行を元のnewrelic.ymlに追加する必要があります。
サポートステートメント:
- New Relic では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。
新機能と改善点
修正
- CouchBase: 2462 @jtduffy による二重計装を防ぐスキップ クラスを追加
- Spring WebClient 5.x: レスポンス全体ではなくヘッダーのみをラップする(2464) @jtduffy
廃止予定
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
最新バージョンへのアップデート
現在使用中のJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。Javaエージェントのバージョンがコンソールに出力されます。
次に、最新バージョンのJavaエージェントにアップデートするには、以下の手順に従います。
- すべてのJavaエージェントのルートディレクトリを別の場所にバックアップします。そのディレクトリの名前を
NewRelic_Agent#.#.#に変更します。ここで、#.#.#はエージェントのバージョン番号です。 - エージェントをダウンロードします。
- 新しいエージェントのダウンロードファイルを解凍し、
newrelic-api.jarとnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。 - 古い
newrelic.ymlとzipからダウンロードした新しいnewrelic.ymlを比較し、必要に応じてファイルを更新します。 - Javaディスパッチャを再起動します。
Javaエージェントのアップデート後に問題が発生する場合は、バックアップしたNew Relicエージェントディレクトリから復元します。
エージェント設定の差分のアップデート
エージェントの新しいバージョンをリリースする際に、newrelic.ymlに新しい設定を追加します。diffまたは別の差分ユーティリティを使用して変更内容を確認してから、新しい設定を古いファイルに追加できます。ライセンスキー、アプリ名、デフォルト設定の変更など、ファイルに対して行ったカスタマイズを上書きしないようにしてください。
たとえば、 Javaバージョン 7.10.0 および 7.11.0 のデフォルトのnewrelic.ymlファイルをdiffすると、コンソールに表示される結果は次のようになります。
➜ 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...この例では、これらの行はJavaエージェント バージョン 7.11.0 のデフォルトのnewrelic.ymlに追加されました。 7.11.0 以降に移行する場合は、これらの新しい行を元のnewrelic.ymlに追加する必要があります。
サポートステートメント:
- New Relic では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。
新機能と改善点
- 2425年に@jtduffyがgraphqlのv24をサポートするように更新しました
- レタス6.5計装追加 by @kanderson250 in 2430
- @jtduffy が2421 年に commons-lang バージョンを 3.18.0 にアップグレードしました
- 2423で @kanderson250 が、データストア パラメータに lettuce dbName を追加できるようになりました。
- 特定のアプリケーションの実装をスキップするための環境変数を追加します。環境変数名は
NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPSです。その値は、エージェントが計量すべきではないメインクラス、実行可能 jar ファイル、またはJavaベースのツール/アプリのカンマ区切りのリストです (例:NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass)、@jtduffy による2433 年
修正
- 8 つの属性を持つ SQS メッセージが AWS に送信されないバグを修正しました。2422 年の @obenkenobi によるディストリビューティッド(分散)トレーシング ヘッダーを渡すには、SQS メッセージに 8 未満のプロパティが必要です
- 2440の @jbedell-newrelic による Azure Service Bus クライアントのトピック名の末尾の「サブスクリプション」部分を削除します
- 2451の @jasonjkeller による AutoConfiguredOpenTelemetrySdk 設定を修正
廃止予定
次の 計算モジュールは非推奨であり、次のメジャー リリースで削除されます。
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
最新バージョンへのアップデート
現在使用中のJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。Javaエージェントのバージョンがコンソールに出力されます。
次に、最新バージョンのJavaエージェントにアップデートするには、以下の手順に従います。
- すべてのJavaエージェントのルートディレクトリを別の場所にバックアップします。そのディレクトリの名前を
NewRelic_Agent#.#.#に変更します。ここで、#.#.#はエージェントのバージョン番号です。 - エージェントをダウンロードします。
- 新しいエージェントのダウンロードファイルを解凍し、
newrelic-api.jarとnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。 - 古い
newrelic.ymlとzipからダウンロードした新しいnewrelic.ymlを比較し、必要に応じてファイルを更新します。 - Javaディスパッチャを再起動します。
Javaエージェントのアップデート後に問題が発生する場合は、バックアップしたNew Relicエージェントディレクトリから復元します。
エージェント設定の差分のアップデート
エージェントの新しいバージョンをリリースする際に、newrelic.ymlに新しい設定を追加します。diffまたは別の差分ユーティリティを使用して変更内容を確認してから、新しい設定を古いファイルに追加できます。ライセンスキー、アプリ名、デフォルト設定の変更など、ファイルに対して行ったカスタマイズを上書きしないようにしてください。
たとえば、 Javaバージョン 7.10.0 および 7.11.0 のデフォルトのnewrelic.ymlファイルをdiffすると、コンソールに表示される結果は次のようになります。
➜ 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...この例では、これらの行はJavaエージェント バージョン 7.11.0 のデフォルトのnewrelic.ymlに追加されました。 7.11.0 以降に移行する場合は、これらの新しい行を元のnewrelic.ymlに追加する必要があります。
サポートステートメント:
- New Relic では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。
新機能と改善点
- Azure サービスバス 7.15.0\@jbedell-newrelic による計装 ( 2384)
- 2399年に@jbedell-newrelicがAzure App Servicesのメタデータをリンクする
- 2377 年に @jtduffy によって接続エラーが SEVERE でログに記録されるようになりました
- 2388 年に @jtduffy によってログとイベントにプロパティとして追加された無効なキーをログに記録し、難読化します
修正
- @meiao による IntelliJ アノテーション ライブラリの再配置(2383)
- 2386で @jtduffy によるサーバー側サンプリングターゲット設定をサポート
- 2400 年に @deleonenriqueta によって潜在的なメモリ リークを修正するために MonoFlatMapMain 計装を削除
廃止予定
次の 計算モジュールは非推奨であり、次のメジャー リリースで削除されます。
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
最新バージョンへのアップデート
現在使用中のJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。Javaエージェントのバージョンがコンソールに出力されます。
次に、最新バージョンのJavaエージェントにアップデートするには、以下の手順に従います。
- すべてのJavaエージェントのルートディレクトリを別の場所にバックアップします。そのディレクトリの名前を
NewRelic_Agent#.#.#に変更します。ここで、#.#.#はエージェントのバージョン番号です。 - エージェントをダウンロードします。
- 新しいエージェントのダウンロードファイルを解凍し、
newrelic-api.jarとnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。 - 古い
newrelic.ymlとzipからダウンロードした新しいnewrelic.ymlを比較し、必要に応じてファイルを更新します。 - Javaディスパッチャを再起動します。
Javaエージェントのアップデート後に問題が発生する場合は、バックアップしたNew Relicエージェントディレクトリから復元します。
エージェント設定の差分のアップデート
エージェントの新しいバージョンをリリースする際に、newrelic.ymlに新しい設定を追加します。diffまたは別の差分ユーティリティを使用して変更内容を確認してから、新しい設定を古いファイルに追加できます。ライセンスキー、アプリ名、デフォルト設定の変更など、ファイルに対して行ったカスタマイズを上書きしないようにしてください。
たとえば、 Javaバージョン 7.10.0 および 7.11.0 のデフォルトのnewrelic.ymlファイルをdiffすると、コンソールに表示される結果は次のようになります。
➜ 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...この例では、これらの行はJavaエージェント バージョン 7.11.0 のデフォルトのnewrelic.ymlに追加されました。 7.11.0 以降に移行する場合は、これらの新しい行を元のnewrelic.ymlに追加する必要があります。
サポートステートメント:
- New Relic では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。
注意
既知の問題: このリリースには、Netty Reactor の特定の使用法でメモリ リークを引き起こす可能性がある既知の問題があります。別のバージョンの使用を検討してください。
新機能と改善点
- Reactor
Mono.flatMap呼び出し2308の可視性が向上します - コア Kafka クライアント ライブラリ2312を使用する場合に Spring-Kafka とディストリビューティッド(分散)トレーシング用の新しい計装を追加します
- Kafka 3.7+ 2358の
KafkaConsumerConfigイベント サポートを追加します
修正
distributed_tracing.sampler構成2330を修正しましたScala 2.12 および JDK 11 の使用時に発生する可能性のある不正アクセス エラーを修正しました。Scala 2.12 がエージェントによって検出できない場合 (システム クラスローダーをチェックします - 特に、sbt は Scala クラスをカスタム Scala ローダーにロードします)、システム プロパティ
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334を介して修正を手動で有効にする機能フラグもあります。nettyの「不明」トランザクション2274 2355を修正
- この修正により、以前の netty 計装の変更が機能フラグの背後に移動され、HTTP2 トランザクションに関連する一部のケースで追加の可視性が提供されます。 この粒度を再度有効にするには (「不明」なトランザクションが表示される可能性があります)、次の構成設定を使用します。
netty:http2:frame_read_listener:start_transaction: true- 8.20 にはエージェント構成のロジック エラーがあるため、修正はエージェント バージョン 8.21 以降でのみ公式になります。
SQS メッセージのディストリビューティッド(分散)トレーシング ヘッダーを追加するタイミングに関する制限を追加します。 これは、メッセージの内容のバイト数と属性のサイズに基づいています。・2353 サイズが 251 KB を超えるメッセージ、および/または 9 以上のプロパティを持つメッセージは、ディストリビューティッド(分散)トレーシング ヘッダーの追加の取得から除外されます。
顧客環境との競合を防ぐために、
org.cracJAR をシャドウイングできるようにします。2344PR #1927 で行われた変更をバックポートして、
NullPointerExceptionsがvertx-core計装2327の古いバージョンに渡されるのを防ぎます。HttpUrlConnectionメソッド呼び出しによって過剰なトランザクションセグメントが作成されるのを防ぎます (例:getInputStream) は、外部呼び出しに関連付けられていない場合に使用されます。この動作は、次の構成オプションによって制御できます:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false、 sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false、またはnewrelic.yml内の同等のスタンザ。デフォルト設定はtrue(つまり非外部getInputStreamおよびその他のレスポンス ハンドラー メソッドは以前と同じように報告されます。2365
セキュリティ
- 無限トレース2339でセキュリティを強化するために
com.newrelic.agent.java:infinite-tracing-protobufをアップグレードします - セキュリティ上の脆弱性2333に対処するため、
snakeyamlcom.konloch:safeyamlに置き換えます
廃止予定
次の 計算モジュールは非推奨であり、次のメジャー リリースで削除されます。
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
CSEC バージョン 1.7.0 2348へのアップデート\ 変更ログ: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
最新バージョンへのアップデート
現在使用中のJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。Javaエージェントのバージョンがコンソールに出力されます。
次に、最新バージョンのJavaエージェントにアップデートするには、以下の手順に従います。
- すべてのJavaエージェントのルートディレクトリを別の場所にバックアップします。そのディレクトリの名前を
NewRelic_Agent#.#.#に変更します。ここで、#.#.#はエージェントのバージョン番号です。 - エージェントをダウンロードします。
- 新しいエージェントのダウンロードファイルを解凍し、
newrelic-api.jarとnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。 - 古い
newrelic.ymlとzipからダウンロードした新しいnewrelic.ymlを比較し、必要に応じてファイルを更新します。 - Javaディスパッチャを再起動します。
Javaエージェントのアップデート後に問題が発生する場合は、バックアップしたNew Relicエージェントディレクトリから復元します。
エージェント設定の差分のアップデート
エージェントの新しいバージョンをリリースする際に、newrelic.ymlに新しい設定を追加します。diffまたは別の差分ユーティリティを使用して変更内容を確認してから、新しい設定を古いファイルに追加できます。ライセンスキー、アプリ名、デフォルト設定の変更など、ファイルに対して行ったカスタマイズを上書きしないようにしてください。
たとえば、 Javaバージョン 7.10.0 および 7.11.0 のデフォルトのnewrelic.ymlファイルをdiffすると、コンソールに表示される結果は次のようになります。
➜ 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...この例では、これらの行はJavaエージェント バージョン 7.11.0 のデフォルトのnewrelic.ymlに追加されました。 7.11.0 以降に移行する場合は、これらの新しい行を元のnewrelic.ymlに追加する必要があります。
サポートステートメント:
- New Relic では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。