新機能と改善点
Webflux 6 1181のサポートを追加しました
Spring JMS 6 1088のサポートを追加しました
Mongodb Reactive Streams 1164のサポートを追加しました
Kafka Streams 1170のサポートを追加しました
Kafka ストリームのサポートには、メトリクスとスパンの 2 つの種類があります。 メトリクスはデフォルトで有効になっていますが、スパンはデフォルトで無効になっています。 スパンズを有効にするには、 newrelic.yml設定の common セクションに以下を追加します。
common: class_transformer: kafka-streams-spans: enabled: trueエラーフィンガープリント - 独自のエラー受信トレイグループ名を入力してください1195
エラー発生が適切にグループ化されていませんか?コールバック関数を使用して、独自のエラーフィンガープリントを設定します。ユーザー定義のprocを受け入れる新しいパブリックAPIメソッドが追加されました。procは検出されたエラーごとに呼び出され、文字列を返す場合は常に、その文字列がエラーのエラーグループ名として使用され、New RelicのErrors Inboxで行われるサーバー側のグループ化よりも優先されます。これにより、ユーザーはエラーのグループ化をより詳細に制御できるようになります。詳細については、「API:エラーのグループ化」および「APM:エラーのグループ化タブ」のページをご覧ください。
ユーザー追跡 - エラーをユーザー ID 1188に関連付けます
エラーグループの影響を受けるユーザーの数を確認できるようになりました。ユーザーIDの文字列表現を受け入れ、そのユーザーIDを現在のトランザクションに関連付ける新しいパブリックAPIメソッドを使用して、エンドユーザーを識別します。トランザクションとエラーには、新しい
enduser.idエージェント属性が関連付けられます。これにより、エージェントユーザーは、より優れたフィルタリング機能とアラート機能をサポートするために、トランザクションとエラーを特定のユーザーIDに属するものとしてタグ付けできるようになります。詳細については、[Newrelic.setUserId ](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#setUserName(java.lang.String)のドキュメントと、Errors Inboxで影響を受けるユーザーを追跡するページを確認してください。現場の外で
token.link()呼び出すと、そのメソッドが非同期を開始するために計装されます1140Kafka クライアントの計装には、ノードをリストするための新しいメトリクスがあります:
MessageBroker/Kafka/Nodes/<node>1130
修正
- エージェントが1137をアタッチするときのClassCircularityErrorを修正
addCustomAttributes1115を呼び出すときにスローされる NullPointerException を修正しましたTokenAndRefCount.tokenが null にならないようにしてください1149- 時間ベースのキャッシュを使用してデータベース接続データを保存し、レプリケーションでインストゥルメントされたMySQLクライアントのメモリ リークを防止する1114
- HttpUrlConnectionで使用されるスレッドの数を減らしました 計1145
- HttpUrlConnection がレガシー クロスアプリケーション トレースで使用される場合の問題を修正する1142
- NettyのRequestWrapper 1163のパフォーマンス向上
- 起動時に問題が発生した場合、エージェントを正常にシャットダウンします1136
- コンストラクターに適用された場合の WeavedMethod および InstrumentedMethod アノテーションを修正します。1153
- Tomcat 1131使用時のパフォーマンスの向上
- エージェントが一部の例外を報告しないバグを修正しました1176
- 検出されるコンテナ ID の数を増やすために DockerData を更新しました1178
- Kafka クライアントで使用されるスレッドの数を減らす 計装1056
- 文法の変更 [1175](https://github.com/newrelic/newrelic-java-agent/pull/1175および [1190] https://github.com/newrelic/newrelic-java-agent/pull/1190)
最新バージョンへのアップデート
現在使用中の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.> 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 では、最新の機能とパフォーマンス上のメリットを確実に得られるよう、エージェントを定期的にアップグレードすることをお勧めします。さらに、古いリリースはサポート終了になるとサポートされなくなります。