• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

CodeStreamによるパフォーマンスモニタリング

New Relic CodeStreamを使用すると、開発者は、IDEに可観測性をもたらし、それを日常業務の一部にすることで、担当するコードが本番環境でどのように実行されているかを確認できます。

CodeStreamとNew Relicの接続

IDEの可観測性にアクセスするには、NewRelicユーザーキーを介してCodeStreamをNewRelicに接続する必要があります(New Relicユーザーキー詳細をご覧ください)。

IDEに可観測性をもたらすために、ユーザーキーを使用してCodeStreamをNewRelicに接続します。

ユーザーキーを取得したら、CodeStreamの[ Observability ]セクションで[ Connect to New Relic ]をクリックし、ユーザーキーを貼り付けて[Connect toNewRelic]をクリックします。 New Relicユーザーキーを使用してCodeStreamにサインアップした場合は、すでに接続されています。

CodeStreamの可観測性機能を使用するには、NewRelicユーザータイプのコアユーザーまたはフルプラットフォームユーザーが必要であることに注意してください。

リポジトリをNewRelicエンティティに関連付ける

CodeStreamで利用可能なテレメトリデータはコンテキストに依存します。つまり、IDEで開いているコードにすべて関連しています。これを行うには、CodeStreamは、開いているリポジトリによってNew Relic上のどのエンティティが構築されているかを知る必要があり、これらの関連付けを行う方法はいくつかあります。

関連付けが存在しない場合、CodeStream が関連付けを行うように求める場合があります。たとえば、CodeStream で New Relic からのエラーを表示しようとして、エラーが属するエンティティがリポジトリに関連付けられていない場合、CodeStream は適切なリポジトリを特定するように求めます。CodeStream ペインの可観測性セクションでも、IDE で現在選択されているリポジトリを関連付けるように求められます。

場合によっては、リポジトリを複数のエンティティに関連付ける必要があります。たとえば、さまざまな環境 (実稼働、ステージングなど) を表すさまざまなエンティティがあり、それらがすべて同じリポジトリに関連付けられている場合があります。[別のサービスを追加] をクリックして、現在のリポジトリを追加のエンティティに関連付けます。

プロンプトが表示されたときにその場でこれらの関連付けを行うことは、開始するのに最適な方法ですが、継続的な手作業が少なくて済み、リモート URL の設定ミスなどのエンド ユーザーのミスの可能性を排除できるため、次のいずれかの方法をお勧めします。

これらの方法のいずれかを使用して、SSHまたはHTTPS形式のいずれかでリモートURLを指定できます。

  • git@github.com:newrelic/beta-docs-site.git
  • https://github.com/newrelic/beta-docs-site.git

注意

異なるプロトコルを使用している場合は、同じ GitHub リポジトリを複数回追加することができます。UI はこの点について警告を発しますが、追加を妨げることはありません。

たとえば、 https://github.com/tuna/repogit@github.com:tuna/repoは同じリポジトリであり、プロトコルが異なります。

IDEでの可観測性

CodeStream のオブザーバビリティ セクションでは、IDE で現在選択されているリポジトリに関連付けられている各サービスのゴールデン メトリックとエラーを確認できるようにすることで、開発者はコードの実行状況を確認できます。各サービスにはツリー内に独自のノードがあり、展開すると、サービスのゴールデン メトリック、ユーザーに割り当てられたエラー、および最新の 5 つのエラーが表示されます。また、サービスによって呼び出された、またはサービスを呼び出したサービスを掘り下げて全体像を把握し、それぞれのゴールデン メトリックを確認することもできます。

現在選択されているリポジトリが New Relic のサービスに関連付けられていない場合は、関連付けを行うか、プロジェクトをインストルメント化するよう求められます。

ツリー内のサービス名にカーソルを合わせると、ブロードキャスト アイコンをクリックして、そのサービスのエディターでコード レベルのメトリックを表示するか、地球儀をクリックして、New Relic のサービスの概要ページを開きます。エラーをクリックすると、スタック トレースを含む詳細が表示され、解決に向けた共同作業が開始されます。

ヒント

プロジェクトがNewRelicによって監視されていない場合は、監視可能性セクションの見出しにある歯車のアイコンをクリックし、[ Instrument my App ]を選択して、監視を設定できます。 CodeStreamには、Node JS、Java、および.NETプロジェクトで使用できるセットアップウィザードがあります。

コードレベルの指標

コード レベルのメトリクスは、コードがメソッド レベルでどのように実行されているかについて詳細な洞察を提供します。New Relic .NET、Python、および Ruby APM エージェントによって自動的にインストルメント化された各メソッドについて、CodeLens と呼ばれる各メソッドの上に挿入されたテキスト行を介してゴールデン シグナルが表示されます。過去 30 分間の応答時間、スループット、およびエラー率が表示されます。

コード レビューは、レビュー プロセス中にゴールデン メトリクスを活用することで、より多くのデータに基づいたものにすることもできます。プル リクエストとフィードバック リクエストの両方の差分にコード レベルのメトリクスが表示されるため、パフォーマンスの問題が変更の一部として対処されていることを確認できます。

要件

  • 分散トレースを有効にする必要があります。分散トレースは、すべてのエージェントの最近のバージョンでデフォルトでオンになっているため、分散トレースを無効にしている場合にのみ、これについて心配する必要があります。
  • Java: Java エージェント バージョン 7.10 以降が必要です。Java エージェント構成でコードレベルのメトリックを有効にする必要があります。VS Code を使用している場合は、Red Hat 拡張機能による Java の言語サポートもインストールする必要があります。
  • .NET: .NET エージェント バージョン 9.9.0 以降が必要です。バージョン 10.2.0 以降では、コードレベルのメトリックがデフォルトで有効になっています。バージョン 9.9.0 から 10.1.0 の場合、コード レベルのメトリックは、.NET エージェント構成で手動で有効にする必要があります。Visual Studio を使用している場合は、 [ツール] > [オプション] > [テキスト エディター] > [すべての言語] > [CodeLens]に移動し、[CodeLens を有効にする] と [CodeStream コードレベルのメトリックを表示する] の両方がオンになっていることを確認して、CodeLenses が有効になっていることを確認します。 .VS Code を使用している場合は、 C#拡張機能がインストールされている必要があります。
  • Python: Python エージェント バージョン 7.10.0.175 以降が必要です。コードレベルの指標は、サポートされている Python フレームワークで実装されたプロジェクトでのみ使用できます。VS Code を使用している場合は、言語サーバーを有効にしてPython拡張機能もインストールする必要があります。
  • Ruby: Ruby エージェント バージョン 8.8.0 以降が必要です。コード レベルのメトリクスは、Rails アプリケーションと、手動トレースを使用する Ruby メソッドでのみ使用できます (詳細はこちら)。バージョン 8.10.0 以降では、コードレベルのメトリックがデフォルトで有効になっています。バージョン 8.8.0 および 8.9.0 の場合、Ruby エージェント構成でコードレベルのメトリックを手動で有効にする必要があります。VS Code を使用している場合は、言語サーバーを有効にしてRubyまたはRuby Solargraph拡張機能をインストールする必要もあります。
  • Go: Go エージェント バージョン 3.19.2 が必要です以上。コードレベルのメトリクスもGo エージェント構成で有効にする必要があります。VS Code を使用している場合は、言語サーバーを有効にしてGo for VS Code拡張機能もインストールする必要があります。

CodeLens をクリックして、各ゴールデン メトリックを視覚化したグラフを表示します。リポジトリが複数の New Relic 監視エンティティに関連付けられている場合、それらを簡単に切り替えることができます。これにより、エディターに表示されるコード レベルのメトリックの基になるエンティティが変更されます。

チャートの上部にあるエンティティ名をクリックすると、NewRelicのより詳細なサービスレベルのデータが表示されます。

オブザーバビリティ セクションを使用して、コード レベルのメトリックを表示するエンティティを変更することもできます。サービスの名前にカーソルを合わせてブロードキャスト アイコンをクリックすると、そのサービスのコード レベルのメトリックが表示されます。

CodeLensオプション

IDEの設定のCodeStreamセクションを使用して、CodeLensesの表示方法を変更できます。

  • VS Codeで、[設定]に移動し、「codestream」を検索します。
  • JetBrainsで、 [設定]/[設定]>[ツール]>[CodeStream]に移動します
  • Visual Studio で、 [ツール] > [オプション] > [CodeStream]に移動します。

デフォルトのCodeLens形式は次のとおりです。

avg duration: ${averageDuration} | throughput: ${throughput} | error rate: ${errorsPerMinute} - since ${since}

CodeStream:Show Golden Signals In Editor設定のチェックを外すことで、CodeLensesを完全にオフにすることもできます。

エラーの調査

CodeStreamは、IDEで開いたコードで発生した最近のエラーを表示しますが、NewRelicのエラー受信ボックスからAPMエラーのより包括的なリストを確認できます。スタックトレースで特定のエラーの根本原因を掘り下げる準備ができたら、[IDEで開く]をクリックして、IDEのコードに直接移動します。

解決に協力する

典型的なコラボレーションセッションには、IDEのコードにコメントする開発者、エラー受信ボックスにエラーを割り当てるDevOpsエンジニア、Slackをフォローする開発マネージャーが含まれます。 CodeStreamは、すでに使用しているツールで人々に会うことで、エラーの発見からエラーの解決までの時間を短縮します。

この短いYouTubeビデオ(約2:27分)を見て、実際の動作を確認してください。

可観測性セクションでエラーをクリックした場合でも、New Relicのエラー受信ボックスからIDEで開くをクリックした場合でも、CodeStreamはスタックトレースを含むエラーの詳細をすべて表示します。

スタックトレースを見て、問題を調査します。

スタックトレース内の任意のフレームをクリックして、IDEの対応するファイルと行番号に直接ジャンプします。リポジトリの一部ではないコード(外部ライブラリなど)を表すスタックトレースのフレームはクリックできないことに注意してください。

スタックトレースをナビゲートしているときに、問題の原因と思われるコードに遭遇した場合は、それを選択し、コメントアイコンをクリックしてディスカッションを開始します。 CodeStreamは、そのコードに触れた最新の人物を自動的に言及するため、適切な人物を簡単にディスカッションに参加させることができます。

エディターでコードを選択し、コメントを追加します。

  • 問題を特定したら、CodeStream の既存のチームメイトか、リポジトリの Git コミット履歴をもとに提案された担当者にそのエラーを割り当てることができるのです。
  • エラーの状態を未解決から解決または無視に更新することができます。
  • ...その他のアクションメニューを使用して、SlackまたはMicrosoftTeamsに関するディスカッションを共有します。

ビルドSHAやリリースタグとエラーの関連付け

CodeStream でエラーを表示すると、エラーに関連付けられたビルド SHA またはリリース タグのいずれかの git 参照がない場合、この警告が表示されることがあります。CodeStream は git 参照を使用して、特定のスタック トレース エラーを、エラーをトリガーした環境で実行されているコードのバージョンと照合します。

エラーを調査するために構成された git 参照は必要ありませんが、エラーの原因となったコードのバージョンを調べていない可能性があることに注意してください。

git reference notconfiguredの警告メッセージは次のとおりです。ビルドSHAまたはリリースタグをエラーに関連付けて、CodeStreamが正しいバージョンのコードを見ていることを確認できるようにします。

環境変数を使用して、NewRelicAPMエージェントにプロジェクトの各ビルドに関連付けられたコミットを通知できます。ソフトウェアの実行バージョンに関連付けられているリリースタグを使用することもできます。

New Relic APMの場合、commit shaおよび/またはreleaseタグ( tags.commitおよびtags.releaseTag )がTransactionおよびTransactionErrorイベントの属性として追加されます。 APM環境変数を使用して、これらの属性を設定できます。

これらの変数のいずれかまたは両方を、ビルドパイプラインの一部として設定することをお勧めします。

  • NEW_RELIC_METADATA_COMMIT -コミット社。すべてを含めることも、最初の7文字のみを含めることもできます(例: 734713b )。
  • NEW_RELIC_METADATA_RELEASE_TAG -リリースタグ( v0.1.209release-209など)。これには、人間が読める形式であるという利点があります。

これらの変数の設定方法については、各言語ごとに具体的な設定内容をご紹介します。

git参照が構成されている場合、CodeStreamは、ローカルで使用しているコードのバージョンにエラーに関連付けられた参照が含まれていないかどうかを通知します。この場合、エラーをより効果的に調査して解決できるように、その参照を含むコードのバージョンを確認することをお勧めします。

git reference not found という警告メッセージが表示されました。あなたのコードのバージョンは、エラーが発生した環境と一致していません。次のリファレンスを取得して、エラーの原因を調べてください。

CodeStreamは、エラーにスタックトレースが関連付けられていないかどうかも通知します。これは、スタックトレースがNewRelicで期限切れになった古いエラーで発生します。

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.