カスタムトレースとメトリクスの作成
自動計装は TracerProvider と MeterProvider を構成するため、独自の手動計装を追加できます。
自動計装と手動計装の両方を使用することで、アプリケーション、クライアント、フレームワークのロジックと機能をより的確に計装できます。
トレース
カスタムトレースを手動で作成するには、以下の手順に従ってください。
プロジェクトに
System.Diagnostics.DiagnosticSourceの依存関係を追加します。<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />ActivitySourceインスタンスを作成します。private static readonly ActivitySource RegisteredActivity = new ActivitySource("Examples.ManualInstrumentations.Registered");Activityを作成します。 必要に応じてタグを設定します。using (var activity = RegisteredActivity.StartActivity("Main")) { activity?.SetTag("foo", "bar1"); // Main アクティビティのロジック }OpenTelemetry.AutoInstrumentation に
ActivitySourceを登録するには、環境変数OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCESを設定します。 値はExamples.ManualInstrumentations.Registeredまたは接頭辞全体を登録するExamples.ManualInstrumentations.*のいずれかに設定できます。
NonRegistered.ManualInstrumentations の ActivitySource に対して作成された Activity は、OpenTelemetry 自動計装では処理されません。
メトリクス
カスタムメトリクスを手動で作成するには、以下の手順に従ってください。
プロジェクトに
System.Diagnostics.DiagnosticSourceの依存関係を追加します。<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />Meterインスタンスを作成します。using var meter = new Meter("Examples.Service", "1.0");計装を作成します。
var successCounter = meter.CreateCounter<long>("srv.successes.count", description: "Number of successful responses");計装の値を更新します。 必要に応じてタグを設定します。
successCounter.Add(1, new KeyValuePair<string, object?>("tagName", "tagValue"));OpenTelemetry.AutoInstrumentation に
Meterを登録するには、環境変数OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCESを設定します。OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=Examples.Service値は
Examples.Serviceまたは接頭辞全体を登録するExamples.*のいずれかに設定できます。
参考資料
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!