.NET OpenTracing インスツルメンテーション
詳細や情報については、OpenTracing API をご覧ください。
セットアップ
OpenTracing のサポートには、Datadog.Trace.OpenTracing
NuGet パッケージをアプリケーションに追加します。アプリケーションの起動時に、OpenTracing SDK を初期化します。
using Datadog.Trace.OpenTracing;
public void ConfigureServices(IServiceCollection services)
{
// デフォルト設定で OpenTracing ITracer を作成します
OpenTracing.ITracer tracer = OpenTracingTracerFactory.CreateTracer();
// ASP.NET Core 依存関係の挿入でトレーサーを使用します
services.AddSingleton<ITracer>(tracer);
// OpenTracing.GlobalTracer.Instance でトレーサーを使用します
GlobalTracer.Register(tracer);
}
メソッドの手動インスツルメント
OpenTracing を使用してスパンを作成します。
using (IScope scope = GlobalTracer.Instance.BuildSpan("manual.sortorders").StartActive(finishSpanOnDispose: true))
{
scope.Span.SetTag("resource.name", "<RESOURCE NAME>");
SortOrders();
}
非同期トレース
非同期タスクで実行中のコードをトレースするには、バックグラウンドタスク内で新しいスコープを作成(非同期コードをラップするのと同様)します。
Task.Run(
() =>
{
using (IScope scope = GlobalTracer.Instance.BuildSpan("manual.sortorders").StartActive(finishSpanOnDispose: true))
{
scope.Span.SetTag("resource.name", "<RESOURCE NAME>");
SortOrders();
}
});
参考資料