• ログイン無料アカウント

.NETエージェントAPIの使用ガイド

New Relicの.NETエージェントには、エージェントの標準機能を拡張できるAPIが含まれます。.NETエージェントAPIの使用例は、次のとおりです。

  • アプリケーション名のカスタマイズ
  • カスタムトランザクションのパラメーターの作成
  • カスタムエラーとカスタムメトリクスのレポート

設定を調整するか、カスタムインストゥルメンテーションを使用して、.NETエージェントの一部のデフォルト動作をカスタマイズすることもできます。

要件

重要

2021年9月現在で、.NET用のAPI、設定オプション、インストレーションオプションの小さなサブセットが新しいメソッドで置き換えられます。この移行の簡単な準備方法などの詳細については、エクスプローラーハブの投稿を参照してください。

.NETエージェントAPIを使用するには:

  1. .NETエージェントの最新リリースを使用していることを確認します。

  2. プロジェクトにエージェントへの参照を追加します。

    • プロジェクトにNewRelic.Api.Agent.dllへの参照を追加します。

      または

    • NuGetパッケージライブラリを参照してAPIパッケージをダウンロードします。

トランザクションを使用して、コードの欠落している部分をインストゥルメントする

アプリをインストゥルメントするために、New Relicはコードで各パスをそのトランザクションに分離します。New Relicは、これらのトランザクションの親メソッドの時間をインストゥルメントして総合的なパフォーマンスを測定し、追加詳細として長期間実行されているトランザクションからトランザクショントレースを収集します。

これらのメソッドは、New Relicがコードの特定の部分をインストゥルメントしていない場合に使用します。

以下を行う場合...

操作...

トランザクションのNew Relicへのレポートを抑止する

IgnoreTransaction() または XMLファイルを使用して、トランザクションを無視します。

トランザクションが存在しない場所にトランザクションを作成する

属性または XMLファイルを使用して新しいトランザクションを作成します。

セグメントを使用する時間固有メソッド

New Relic UIにトランザクションがすでに表示されているが、そのトランザクション中に呼び出された特定のメソッドに関するデータが十分ではない場合は、これらの各メソッドをより詳細に時間計測するセグメントを作成できます。たとえば、複雑なロジックの特に重要なメソッドの時間を計測する必要があることがあります。

既存のトランザクション内でメソッドをインストゥルメントする場合は、属性によるカスタムインストゥルメンテーションまたはXMLによるトランザクションへの詳細の追加をご覧ください。

トランザクションのメタデータの強化

計測対象のコードがNew Relic UIに表示される場合もありますが、メソッドの詳細の一部が有用ではないことがあります。例:

New Relic UIにすでに表示されているトランザクションをNew Relicでインストゥルメントする方法を変更する場合は、以下の方法を使用します。

以下を行う場合...

操作...

トランザクションの名前を変更する

SetTransactionName()またはXMLファイルを使用します。

トランザクションがApdexスコアに影響しないようにする

IgnoreApdex()を使用します。

トランザクションにメタデータ(顧客のアカウント名またはサブスクリプションレベルなど)を追加する

カスタムアトリビュートを使用します。AddCustomAttribute()をご覧ください。

関連ログの参照

アプリケーションのエラーとトレースのコンテキスト内でログを直接表示するには、次のAPI呼び出しを使用してログに注釈を付けます。

ログデータと他のテレメトリーデータの相関に関する詳細は、コンテキストのログに関するドキュメントを参照してください。

非同期の作業をインストゥルメントする

サポートされているフレームワークの場合、.NETエージェントは通常、非同期動作を検出して正しくインストゥルメントします。ただし、アプリケーションが別のフレームワークを使用する場合、またはデフォルトの非同期インストゥルメンテーションが正確ではない場合は、非同期動作に明示的に接続できます。

以下を行う場合...

操作...

New Relicがすでにインストゥルメントしている非同期メソッドをトレースする

XMLファイルを使用して、IISアプリの非同期メソッドをインストゥルメントします。欠落している非同期メトリクスに関するNew Relicのトラブルシューティングのヒントをご覧ください。

New Relicがインストゥルメントしていない非同期メソッドをトレースする

XMLファイルを使用して、IISアプリの非同期メソッドをインストゥルメントします。欠落している非同期メトリクスに関するNew Relicのトラブルシューティングのヒントをご覧ください。

外部サービスの呼び出しの表示

.NETエージェントバージョン8.9以上では、以下のディストリビューティッド(分散)トレーシングペイロードAPIを使用して、分散トレースで自動的に相互接続しないNew Relicが監視するサービス間でディストリビューティッド(分散)トレーシングコンテキストを手動で渡すことができます。

以下を行う場合...

操作...

外部アプリケーションまたはデータベースに対する発信リクエストを計測する

CreateDistributedTracePayload()を使用して、発信リクエストにアタッチするディストリビューティッド(分散)トレースペイロードを作成します。

着信リクエストをリクエストの発信者に結び付けてトレースのスパンを完了する

AcceptDistributedTracePayload()を使用して受信リクエストでペイロードを受信します。

8.9以前のバージョンの.NETエージェントには、クロスアプリケーショントレーシングを使用してください。

エラーを収集または無視する

通常、.NETエージェントはエラーを自動的に検出します。ただし、エージェントを使用してエラーに手動でマーク付けできます。エラーを無視することもできます。

以下を行う場合...

操作...

.NETエージェントが自動的に報告しないエラーを報告する

NoticeError()を使用します。

エラーをキャプチャするか、.NETエージェントがエラーをレポートしないようにする

.NETエージェントの設定ファイルを使用します。

アプリケーションからカスタムイベントとメトリクスデータを送信する

APMには、任意のカスタムデータを記録する多くの方法が含まれます。New Relicデータ型の説明については、データ収集をご覧ください。

以下を行う場合...

操作...

ダッシュボードで分析できるように、イベントに関するデータを送信する

カスタムイベントを作成します。RecordCustomEvent()をご覧ください。

メタデータを使用してイベントにタグ付けし、ダッシュボードまたはエラー分析でフィルターしてファセットする

カスタムアトリビュートを追加します。.NETエージェントの属性と属性の有効化/無効化を参照してください。

カスタムパフォーマンスデータをレポートする

RecordMetric()を使用して、カスタムメトリックを作成します。データを表示するには、クエリビルダーを使用します。

ブラウザモニタリングエージェントを制御する

通常、ブラウザエージェントはページに自動的に追加、またはJavaScriptスニペットをコピー/ペーストしてデプロイされます。これらの推奨メソッドの詳細については、ブラウザモニタリングへのアプリの追加を参照してください。

ただし、ブラウザエージェントは、APMエージェントAPIコールを介して制御することもできます。詳細については、Browserモニタリングと.NETエージェントをご覧ください。

Copyright © 2022 New Relic株式会社。