New Relicの.NETエージェントには、エージェントの標準機能を拡張できるAPIが含まれます。.NETエージェントAPIの使用例は、次のとおりです。
- アプリケーション名のカスタマイズ
- カスタムトランザクションのパラメーターの作成
- カスタムエラーとカスタムメトリクスのレポート
設定を調整するか、カスタムインストゥルメンテーションを使用して、.NETエージェントの一部のデフォルト動作をカスタマイズすることもできます。
要件
重要
2021年9月現在で、.NET用のAPI、設定オプション、インストレーションオプションの小さなサブセットが新しいメソッドで置き換えられます。この移行の簡単な準備方法などの詳細については、エクスプローラーハブの投稿を参照してください。
.NETエージェントAPIを使用するには:
.NETエージェントの最新リリースを使用していることを確認します。
プロジェクトにエージェントへの参照を追加します。
プロジェクトに
NewRelic.Api.Agent.dll
への参照を追加します。または
NuGetパッケージライブラリを参照してAPIパッケージをダウンロードします。
トランザクションを使用して、コードの欠落している部分をインストゥルメントする
アプリをインストゥルメントするために、New Relicはコードで各パスをそのトランザクションに分離します。New Relicは、これらのトランザクションの親メソッドの時間をインストゥルメントして総合的なパフォーマンスを測定し、追加詳細として長期間実行されているトランザクションからトランザクショントレースを収集します。
これらのメソッドは、New Relicがコードの特定の部分をインストゥルメントしていない場合に使用します。
以下を行う場合... | 操作... |
---|---|
トランザクションのNew Relicへのレポートを抑止する |
|
トランザクションが存在しない場所にトランザクションを作成する |
セグメントを使用する時間固有メソッド
New Relic UIにトランザクションがすでに表示されているが、そのトランザクション中に呼び出された特定のメソッドに関するデータが十分ではない場合は、これらの各メソッドをより詳細に時間計測するセグメントを作成できます。たとえば、複雑なロジックの特に重要なメソッドの時間を計測する必要があることがあります。
既存のトランザクション内でメソッドをインストゥルメントする場合は、属性によるカスタムインストゥルメンテーションまたはXMLによるトランザクションへの詳細の追加をご覧ください。
トランザクションのメタデータの強化
計測対象のコードがNew Relic UIに表示される場合もありますが、メソッドの詳細の一部が有用ではないことがあります。例:
- デフォルト名が有用でない。(メトリクスのグループ化問題の原因になっている場合など)。
- ダッシュボードでフィルターできるように、トランザクションにカスタムアトリビュートを追加します。
New Relic UIにすでに表示されているトランザクションをNew Relicでインストゥルメントする方法を変更する場合は、以下の方法を使用します。
以下を行う場合... | 操作... |
---|---|
トランザクションの名前を変更する |
|
トランザクションがApdexスコアに影響しないようにする |
|
トランザクションにメタデータ(顧客のアカウント名またはサブスクリプションレベルなど)を追加する | カスタムアトリビュートを使用します。 |
非同期の作業をインストゥルメントする
サポートされているフレームワークの場合、.NETエージェントは通常、非同期動作を検出して正しくインストゥルメントします。ただし、アプリケーションが別のフレームワークを使用する場合、またはデフォルトの非同期インストゥルメンテーションが正確ではない場合は、非同期動作に明示的に接続できます。
以下を行う場合... | 操作... |
---|---|
New Relicがすでにインストゥルメントしている非同期メソッドをトレースする | XMLファイルを使用して、IISアプリの非同期メソッドをインストゥルメントします。欠落している非同期メトリクスに関するNew Relicのトラブルシューティングのヒントをご覧ください。 |
New Relicがインストゥルメントしていない非同期メソッドをトレースする | XMLファイルを使用して、IISアプリの非同期メソッドをインストゥルメントします。欠落している非同期メトリクスに関するNew Relicのトラブルシューティングのヒントをご覧ください。 |
外部サービスの呼び出しの表示
.NETエージェントバージョン8.9以上では、以下のディストリビューティッド(分散)トレーシングペイロードAPIを使用して、分散トレースで自動的に相互接続しないNew Relicが監視するサービス間でディストリビューティッド(分散)トレーシングコンテキストを手動で渡すことができます。
以下を行う場合... | 操作... |
---|---|
外部アプリケーションまたはデータベースに対する発信リクエストを計測する |
|
着信リクエストをリクエストの発信者に結び付けてトレースのスパンを完了する |
|
8.9以前のバージョンの.NETエージェントには、クロスアプリケーショントレーシングを使用してください。
エラーを収集または無視する
通常、.NETエージェントはエラーを自動的に検出します。ただし、エージェントを使用してエラーに手動でマーク付けできます。エラーを無視することもできます。
以下を行う場合... | 操作... |
---|---|
.NETエージェントが自動的に報告しないエラーを報告する |
|
エラーをキャプチャするか、.NETエージェントがエラーをレポートしないようにする | .NETエージェントの設定ファイルを使用します。 |
アプリケーションからカスタムイベントとメトリクスデータを送信する
APMには、任意のカスタムデータを記録する多くの方法が含まれます。New Relicデータ型の説明については、データ収集をご覧ください。
以下を行う場合... | 操作... |
---|---|
ダッシュボードで分析できるように、イベントに関するデータを送信する | カスタムイベントを作成します。 |
メタデータを使用してイベントにタグ付けし、ダッシュボードまたはエラー分析でフィルターしてファセットする | カスタムアトリビュートを追加します。.NETエージェントの属性と属性の有効化/無効化を参照してください。 |
カスタムパフォーマンスデータをレポートする |
|
ブラウザモニタリングエージェントを制御する
通常、ブラウザエージェントはページに自動的に追加、またはJavaScriptスニペットをコピー/ペーストしてデプロイされます。これらの推奨メソッドの詳細については、ブラウザモニタリングへのアプリの追加を参照してください。
ただし、ブラウザエージェントは、APMエージェントAPIコールを介して制御することもできます。詳細については、Browserモニタリングと.NETエージェントをご覧ください。
その他のヘルプ
さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:
- Explorers Hubでは、コミュニティからのサポートを受けたり、ディスカッションに参加したりすることができます。
- 当社サイトで答えを見つけて、サポートポータルの使用方法を確認してください。
- Linux、Windows、およびmacOS向けトラブルシューティングツールであるNew Relic Diagnosticsを実行してください。
- New Relicの とandドキュメント をご確認ください。