パフォーマンス データは、探さなくてもエディターに状況に応じて表示されるため、作業中の作業に情報を提供できます。バグ修正に取り組んでいて、作業中のコード領域のエラー率が上昇していることに偶然気づいたとします。もしかしたら、より大きな問題に発展しないように、バグ修正の一環としてその問題に対処するかもしれません。
CodeStream は、New Relic APM エージェントによって実行された各メソッド インストゥルメントの上の CodeLens に、過去 30 分間の平均継続時間とエラー率を表示します。 Visual Studio の場合、CodeLens の代わりに New Relic アイコンがエディターのガターに表示されます。 メトリクスは、CodeStream ペインで現在選択されているサービスに対して計算されます。 別のサービスを展開すると、それに応じてメトリクスが更新されます。
CodeLens をクリックすると、各メトリクスを視覚化したグラフが表示されます。リポジトリが複数の New Relic 監視サービスに関連付けられている場合、それらを簡単に切り替えることができます。これにより、チャートとエディターの両方に表示されるコードレベルのメトリクスのベースとなるサービスが変更され、CodeStream ペインでのサービスの選択も変更されます。
エラー率のグラフに加えて、同じ時間枠で発生した実際のエラーのリスト (それぞれの発生数を含む) も表示されます。エラー率が急上昇しており、特定のエラーが問題の原因であることがわかった場合は、そのエラーをクリックしてスタック トレースを表示し、解決に向けた共同作業を開始できます。
カバレッジ
New Relic エージェントは、HTTP リクエストに関連付けられたクラスの関数のデータを自動的に収集しようとします。 多くの場合、MVC フレームワークを使用する多くのフレームワークでは、これらはコントローラー クラスのメソッドであることがよくあります。
New Relic エージェントによるすべてのリクエストが常に収集されるわけではないため、トラフィックの少ないメソッドではデータが表示されない可能性があります。結果を確認したい特定のメソッドのデータが欠落している場合は、カスタム インストルメンテーションを使用してギャップを埋めることができます。Java 、.NET 、 PHP 、 Python 、 Ruby 、 Go 、およびNode.jsのガイダンスを参照してください。
次の NRQL クエリを実行して、いずれかのサービスのコードレベルのメトリクスを含む CodeLenses が表示される場所を特定します。 例のentity.guid
値を、指定されたサービスの値に置き換えるだけです。 クエリ結果で、 code.*
属性を調べて、フレームワーク コードではなくコードを表しているものがあるかどうかを確認します。
SELECT * FROM SpanWHERE entity.guid = 'YOUR_ENTITY_GUID' AND code.function IS NOT NULLSINCE 30 minutes ago LIMIT MAX
要件
エディター内のパフォーマンス データを表示するには、サービスが以下に示す要件を満たしている必要があり、サービスは過去 30 分間にデータを収集している必要があります。
- 分散トレーシングを 有効にする必要があります。分散トレースは、すべてのエージェントの最近のバージョンでデフォルトでオンになっているため、これについて心配する必要があるのは、分散トレースを無効にしている場合のみです。
- Go: Go エージェント バージョン 3.24.0 以降が必要です。 VS Code を使用している場合は、言語サーバーを有効にしてGo for VS Code拡張機能もインストールする必要があります。
- Java: Javaエージェント バージョン 7.11.0 以降が必要です。 コードレベルのメトリクスは、 サポートされている Java フレームワークで実装されたプロジェクトでのみ使用できます。 VS Code を使用している場合は、 Red Hat 拡張機能による Java の言語サポートもインストールする必要があります。 Kotlin サポートは IntelliJ でのみ利用できることに注意してください。
- .NET: .NET エージェント バージョン 10.2.0 以降が必要です。 Visual Studio を使用している場合は、 Tools > Options > Text Editor > All Languages > CodeLensに移動し、[CodeLens を有効にする] と [CodeStream コードレベルのメトリクスを表示する] の両方がオンになっていることを確認して、CodeLenses が有効になっていることを確認します。 VS Code を使用している場合は、 C#拡張機能がインストールされている必要があります。
- Node.js: Node.js エージェントのバージョン 10.5.0 以降が必要です。 コードベースに匿名関数が含まれている場合は、変更追跡 (変更追跡機能)を使用してデプロイ情報を New Relic に送信するか、ビルド パイプラインの環境変数を介してビルド SHA を送信する必要があります。
- PHP: PHPエージェントバージョン10.6.0以上が必要です。 VS Code を使用している場合は、 PHP Intelephense拡張機能もインストールされている必要があります。
- Python: Python エージェント バージョン 7.10.0.175 以降が必要です。 コードレベルのメトリクスは、サポートされている Python フレームワークで実装されたプロジェクトおよび PHP バージョン 7.0 以降でのみ使用できます。 VS Code を使用している場合は、言語サーバーを有効にしてPython拡張機能もインストールする必要があります。
- Ruby: Ruby エージェント バージョン 8.10.0 以上が必要です。 コードレベル メトリクスは、手動トレースを使用した Rails アプリケーションとRubyメソッドでのみ使用できます ( RubyメソッドとCodeStreamについて詳しくは、こちらをご覧ください)。 VS Code を使用している場合は、 Ruby LSP拡張機能もインストールされている必要があります。
CodeLenses をオフにするには、IDE 設定の CodeStream セクションに移動し、 CodeStream: Show Golden Signals In Editor設定のチェックを外します。