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

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

ITransction

構文

public interface ITransaction

New Relic API のトランザクション固有のメソッドへのアクセスを提供します。

説明

New Relic .NET エージェント API のトランザクション固有のメソッドへのアクセスを提供します。ITransactionへの参照を取得するには、 IAgentで使用可能な現在のトランザクション メソッドを使用します。

ITransactionでは次のメソッドを使用できます:

名前

説明

AcceptDistributedTraceHeaders

他のサービスから送られてくるトレースコンテキストヘッダを受信します。

InsertDistributedTraceHeaders

発信するリクエストにトレースコンテキストヘッダを追加します。

AcceptDistributedTracePayload (廃止)

他のサービスからの分散型トレースペイロードを受信します。

CreateDistributedTracePayload (廃止)

発信するリクエストに含める分散型トレースペイロードを作成します。

AddCustomAttribute

アプリケーションのコンテキスト情報を属性の形で現在のトランザクションに追加します。

CurrentSpan

現在実行中の span へのアクセスを提供し、New Relic API の span 固有のメソッドへのアクセスを提供します。

SetUserId

ユーザー ID を現在のトランザクションに関連付けます。

AcceptDistributedTraceHeaders

ITransaction.AcceptDistributedTraceHeaders 分散トレースに含めるために呼び出されたサービスを計測するために使用されます。 InsertDistributedTraceHeaders によって生成されたペイロード、または他の W3C トレース コンテキスト準拠のトレーサによって生成されたペイロードを受け入れることで、トレース内のスパンをリンクします。 このメソッドは、着信リクエストのヘッダーを受け入れ、W3C トレース コンテキスト ヘッダーを探し、見つからない場合は、New Relic 分散トレース ヘッダーにフォールバックします。このメソッドは、New Relic の分散トレース ペイロードのみを処理する非推奨の AcceptDistributedTracePayload メソッドを置き換えます。

構文

void AcceptDistributedTraceHeaders(carrier, getter, transportType)

パラメーター

名前

説明

carrier

<T>

必要です。受信するTrace Contextヘッダーのソース。

getter

Func<T, string, IEnumerable<string>>

必要です。キャリアからヘッダーデータを抽出するための呼び出し側定義の関数。

transportType

トランスポートタイプ enum

必要。着信ペイロードのトランスポートを記述します (例: TransportType.HTTP )。

使用上の注意

  • Distributed tracingが有効であること.
  • AcceptDistributedTraceHeaders InsertDistributedTraceHeadersまたはAcceptDistributedTraceHeadersがこのトランザクションに対して既に呼び出されている場合は無視されます。

HttpContext httpContext = HttpContext.Current;
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction currentTransaction = agent.CurrentTransaction;
currentTransaction.AcceptDistributedTraceHeaders(httpContext, Getter, TransportType.HTTP);
IEnumerable<string> Getter(HttpContext carrier, string key)
{
string value = carrier.Request.Headers[key];
return value == null ? null : new string[] { value };
}

InsertDistributedTraceHeaders

ITransaction.InsertDistributedTraceHeaders 分散トレースの実装に使用されます。W3C Trace Context ヘッダーと New Relic Distributed Trace ヘッダーを追加することで、渡されたキャリア オブジェクトを変更します。New Relic ヘッダーは、構成で<distributedTracing excludeNewrelicHeader="true" />を使用して無効にすることができます。このメソッドは、New Relic Distributed Trace ペイロードのみを作成する非推奨の CreateDistributedTracePayload メソッドを置き換えます。

構文

void InsertDistributedTraceHeaders(carrier, setter)

パラメーター

名前

説明

carrier

<T>

必要です。Trace Context ヘッダが挿入されるコンテナです。

setter

アクション<T, string, string>

必要です。呼び出し側が定義した、キャリアにヘッダーデータを挿入するためのアクション。

使用上の注意

HttpWebRequest requestMessage = (HttpWebRequest)WebRequest.Create("https://remote-address");
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction currentTransaction = agent.CurrentTransaction;
var setter = new Action<HttpWebRequest, string, string>((carrier, key, value) => { carrier.Headers?.Set(key, value); });
currentTransaction.InsertDistributedTraceHeaders(requestMessage, setter);

AcceptDistributedTracePayload

注意

この API は、.NET エージェント v9.0 以降では使用できません。代わりに AcceptDistributedTraceHeaders を使用してください。

上流のサービスから受信する分散トレースペイロードを受け入れる。このメソッドを呼び出すと、上流のサービスからのトランザクションがこのトランザクションにリンクされます。

構文

void AcceptDistributedPayload(payload, transportType)

パラメーター

名前

説明

payload

ストリング

必要です。受信した分散型トレースのペイロードの文字列表現。

transportType

TransportType
enum

おすすめされた。着信ペイロードのトランスポートを記述します (例: http )。

デフォルトTransportType.Unknown

使用上の注意

  • Distributed tracingが有効であること.
  • ペイロードは、Base64エンコードされた文字列またはプレーンテキストの文字列です。
  • AcceptDistributedTracePayload CreateDistributedTracePayloadがこのトランザクションに対して既に呼び出されている場合は無視されます。

//Obtain the information from the request object from the upstream caller.
//The method by which this information is obtain is specific to the transport
//type being used. For example, in an HttpRequest, this information is
//contained in the
header.KeyValuePair<string, string> metadata = GetMetaDataFromRequest("requestPayload");
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.AcceptDistributedTracePayload(metadata.Value, TransportType.Queue);

CreateDistributedTracePayload (廃止予定)

注意

この API は、.NET エージェント v9.0 以降では使用できません。代わりに InsertDistributedTraceHeaders を使用してください。

下流のシステムへの送信リクエストに含めるための分散型トレースペイロードを作成します。

構文

IDistributedTracePayload CreateDistributedTracePayload()

リターンズ

作成された分散トレース ペイロードへのアクセスを提供するIDistributedTracePayloadを実装するオブジェクト。

使用上の注意

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
IDistributedTracePayload payload = transaction.CreateDistributedTracePayload();

カスタムアトリビュートの追加

属性 の形で、現在のトランザクションにアプリケーションのコンテキスト情報を追加します。

このメソッドには、.NET エージェント バージョンと .NET エージェント API バージョン 8.24.244.0 以降が必要です。 非推奨の AddCustomParameterを置き換えました。

構文

ITransaction AddCustomAttribute(string key, object value)

パラメーター

パラメータ

説明

key

ストリング

報告される情報を特定するもの。名称としても知られている。

  • 空のキーには対応していません。
  • キーは255バイトに制限されています。255バイト以上のキーを持つアトリビュートは無視されます。

value

物体

報告される値です。

: null 値は記録されません。

.NETタイプ

価値がどのように表現されるか

byteInt16Int32Int64

sbyteUInt16UInt32UInt64

整数値として。

floatdoubledecimal

10 進数ベースの数値。

string

255バイトで切り捨てられた文字列。

空の文字列にも対応しています。

bool

正しいか間違っているか。

DateTime

ISO-8601フォーマットに従った文字列表現(タイムゾーン情報を含む)。

例: 2020-02-13T11:31:19.5767650-08:00

TimeSpan

秒数を表す10進法の数値です。

その他

ToString()メソッドが適用されます。カスタムタイプにはObject.ToString()の実装が必要です。そうでない場合、例外がスローされます。

リターンズ

現在のトランザクションへの参照です。

使用上の注意

サポートされているデータタイプの詳細については、『 Custom Attributes Guide』 を参照してください。

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.AddCustomAttribute("customerName","Bob Smith")
.AddCustomAttribute("currentAge",31)
.AddCustomAttribute("birthday", new DateTime(2000, 02, 14))
.AddCustomAttribute("waitTime", TimeSpan.FromMilliseconds(93842));

カレントスパン

現在実行中のspanへのアクセスを提供し、New Relic API内でspan固有のメソッドを使用できるようにします。

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
ISpan currentSpan = transaction.CurrentSpan;

SetUserId

ユーザー ID を現在のトランザクションに関連付けます。

このメソッドには、.NET エージェントと .NET エージェント API バージョン 10.9.0 以降が必要です。

構文

ITransaction SetUserId(string userId)

パラメーター

パラメータ

説明

userId

ストリング

このトランザクションに関連付けられるユーザー ID。

  • null、空および空白の値は無視されます。

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.SetUserId("BobSmith123");
Copyright © 2024 New Relic株式会社。

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