Splunk Observability Cloud 用に .NET アプリケーションを手動でインストルメンテーションする 🔗
The Splunk Distribution of OpenTelemetry .NET zero-code instrumentation provides a base you can build on by adding your own manual instrumentation. By using both zero-code and manual instrumentation, you can better instrument the logic and functionality of your applications, clients, and frameworks.
カスタムトレースの作成 🔗
カスタムのスパンとトレースを作成するには、以下の手順に従ってください:
Splunk Distribution of OpenTelemetry .NETをインストールします。.NETアプリケーションのインストルメンテーション を参照してください。
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"); // your logic for Main activity }
OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES
環境変数を設定して、ActivitySource
を登録します。この値はExamples.ManualInstrumentations.Registered
か、プレフィックス全体を登録するExamples.ManualInstrumentations.*
のどちらかに設定できます。
追加情報と例については、OpenTelemetry 公式ドキュメント を参照してください。
カスタムメトリクスの作成 🔗
カスタムメトリクスを作成するには、以下の手順に従います:
System.Diagnostics.DiagnosticSource
の依存関係をプロジェクトに追加します:<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />
Meter
インスタンスを作成します:using var meter = new Meter("My.Application", "1.0");
Instrument
インスタンスを作成します:var counter = meter.CreateCounter<long>("custom.counter", description: "Custom counter's description");
Instrument
の値を更新します:counter.Add(1);
OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES
環境変数を設定して、Meter
を OpenTelemetry.AutoInstrumentation に登録します:OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=My.Application
追加情報とサンプルについては、OpenTelemetry 公式ドキュメント <https://opentelemetry.io/docs/languages/net/instrumentation/#metrics を参照してください。