• ログイン

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

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

問題を作成する

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ペインのObservabilityセクションでは、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から直接発見できます。割り当てられたエラーに加えて、NewRelicAPMエージェントによって監視されているサービスに関連付けられているIDEで開いているリポジトリごとに最近のエラーが一覧表示されます。

IDEで開いているリポジトリに関連する最近のエラーを参照してください。

エラーをクリックして詳細を表示し、共同作業を開始します。

NewRelicの複数のエンティティに関連付けられたリポジトリがある可能性があります。このような場合、リポジトリ名の右側にドロップダウンリストが表示されるため、エンティティを簡単に切り替えることができます。

エラーを表示するエンティティを選択します。

ヒント

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

コードレベルの指標

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

コードレベルのメトリックは、Python/Rubyプロジェクトのインストルメントされた各メソッドの上に表示されます。

要件

  • 分散トレースを有効にする必要があります。
  • Python-コードレベルのメトリックは、サポートされているPythonフレームワークで実装されたプロジェクトでのみ使用できます。VS Codeを使用している場合は、言語サーバーを有効にしてPython拡張機能もインストールする必要があります。
  • Ruby-コードレベルのメトリックは、Railsアプリケーションと手動トレースを使用するRubyメソッドでのみ使用できます(詳細はこちら)。コードレベルのメトリックは、Rubyエージェント構成でも有効にする必要があります。VS Codeを使用している場合は、言語サーバーを有効にして、 RubyまたはRubySolargraph拡張機能もインストールする必要があります。
  • .NET-コードレベルのメトリックは、.NETエージェント構成で有効にする必要があります。Visual Studioを使用している場合は、 [ツール]>[オプション]>[テキストエディター]>[すべての言語]>[CodeLens]に移動し、[CodeLensを有効にする]と[CodeStreamコードレベルメトリックを表示する]の両方がオンになっていることを確認して、CodeLensesが有効になっていることを確認します。 。VS Codeを使用している場合は、 C#拡張機能がインストールされている必要があります。

CodeLensをクリックして、各ゴールデンシグナルを視覚化したチャートを表示します。リポジトリがNewRelicの複数のエンティティに関連付けられている場合は、それらを簡単に切り替えることができます。これにより、エディターに表示されるゴールデンシグナルの基になるエンティティが変更されます。

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

CodeLensオプション

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

  • VS Codeで、[設定]に移動し、「codestream」を検索します。
  • JetBrainsで、 [設定]/[設定]>[ツール]>[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で期限切れになった古いエラーで発生します。

Pixieによる動的ロギング

Pixieを使用した動的ロギングを使用すると、追加のログステートメントを使用してソースコードをインストルメント化したり、再コンパイルしたり、再デプロイしたりすることなく、本番環境でGoアプリケーションをデバッグできます。 IDEから直接、関数の引数、戻り値、レイテンシーを動的にキャプチャできます。

重要

動的ロギングは現在、Goで記述されたアプリケーションでのみ利用可能であり、 Pixieによって監視されるKubernetesクラスターが必要です。

ロギングセッションを開始するには、Goプロジェクト内の任意のメソッド名を右クリックし、[ Pixieを使用した動的ロギング]を選択します。 New RelicアカウントとKubernetes情報(クラスター、名前空間、ポッド)を選択した後、1分から10分の範囲のロギングセッションを開始できます。

メソッドのすべてのパラメーターの値がリアルタイムでキャプチャされ始めていることがわかります。

Copyright © 2022 New Relic株式会社。

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