• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

属性によるカスタムインストゥルメンテーション(.NET)

New Relicの.NETエージェントには、カスタムインストゥルメンテーション向けに複数のオプションがあります。カスタムインストゥルメンテーションを使用すると、自動でインストゥルメントされないアプリケーションの部分をインストゥルメントできます。このドキュメントでは、アプリケーションコードのメソッドを属性で装飾してアプリケーションをインストゥルメントする方法について説明します。

  • Transaction属性を使用して、カスタムトランザクションを作成します。また、属性のWebプロパティを使用して、カスタムトランザクションをウェブトランザクションとしてマークすることもできます。
  • Trace属性を使用して、既存のトランザクション内で呼び出されるメソッドにカスタムインストゥルメンテーションを追加します。

要件および推奨

要件は次のとおりです。

トランザクション内で呼び出されたトランザクション

[Transaction]属性で修飾されたメソッドは、新しいトランザクションが存在しない場合にのみ新しいトランザクションを作成します。[Transaction]で修飾されたメソッドが、以前に開始されたトランザクションから呼び出される場合、代わりに[Trace]属性として扱われ、既存のトランザクションに関する詳細情報が提供されます。

非ウェブトランザクションを新規作成する

Transaction属性を使用して、非ウェブトランザクション(バックグラウンド要求とも呼ばれます)を開始するには:

[Transaction]
public void Run()
{
// your background task
}

ウェブまたは非ウェブのどちらを使用するか、およびその理由については、ウェブまたは非ウェブとして分類するをご覧ください。

ウェブトランザクションを新規作成する

非ウェブタスクをウェブブラウザのトランザクションとしてマークするようにエージェントに指示するには、以下のいずれかのオプションを使用します。

  • Transaction属性のWebプロパティをtrueに設定します。
  • トランザクションのURIをSetTransactionUri()に設定します。
[Transaction(Web = true)]
public void Run()
{
var uri = new Uri("https://www.mydomain.com/path");
NewRelic.Api.Agent.NewRelic.SetTransactionUri(uri);
// your web task
}

以前開始されたトランザクション内で使用すると、これは[Trace]属性として処理されます。

ウェブまたは非ウェブのどちらを使用するか、およびその理由については、ウェブまたは非ウェブとして分類するをご覧ください。

で既存のトランザクションに詳細を追加する Trace

トランザクショントレースにインストゥルメントされていない時間のブロックが大量にあり、トレース内にメソッドを追加したい場合は、Trace属性を使用できます。

[Trace]
protected void MethodWithinTransaction()
{
// your app code
}

重要

[Trace]属性を追加した後に一部のメソッドがトレースに表示されない場合は、[MethodImpl(MethodImplOptions.NoInlining)]を使用してそれらのメソッドのインライン化を無効にします。

重要

Visual Studioからアプリケーションをデバッグモードで実行すると、一部のメソッドがNew Relicトレースに表示されなくなる場合があります。New Relicにメソッドが確実に表示されるようにするには、コマンドラインを使用してアプリケーションをリリースモードで実行します。

のプロパティ Transaction

Transaction属性は、以下のプロパティをサポートします。

例:4つの方法をインストゥルメント

インストゥルメンテーションに関するフォーラムの投稿を読む

より具体的な推奨事項については、以下のサポートフォーラムコミュニティでこれらの投稿を参照してください。

他のAPI機能を使用する

.NETエージェントAPIおよびその関数の詳細については、New Relicの.NETエージェントAPIガイドをご覧ください。ソースコードを変更しないカスタムインストゥルメンテーションについては、XMLによるトランザクションの作成XMLによるトランザクションへの詳細の追加をご覧ください。

Copyright © 2024 New Relic株式会社。

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