Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud (OpenTelemetry) 用 .NET アプリケーションのインストルメンテーション » Splunk Observability Cloud 用に .NET アプリケーションを手動でインストルメンテーションする

Splunk Observability Cloud 用に .NET アプリケーションを手動でインストルメンテーションする 🔗

Splunk Distribution of OpenTelemetry .NET ゼロコードインストルメンテーションは、独自の手動インストルメンテーションを追加することで構築できるベースを提供します。ゼロコードインストルメンテーションと手動インストルメンテーションの両方を使用することで、アプリケーション、クライアント、フレームワークのロジックと機能をより適切にインストルメンテーションできます。

カスタムトレースの作成 🔗

カスタムのスパンとトレースを作成するには、以下の手順に従ってください:

  1. Splunk Distribution of OpenTelemetry .NETをインストールします。.NETアプリケーションのインストルメンテーション を参照してください。

  2. System.Diagnostics.DiagnosticSource の依存関係をプロジェクトに追加します:

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="9.0.0" />
    
  3. ActivitySource インスタンスを作成します:

    private static readonly ActivitySource RegisteredActivity = new ActivitySource("Examples.ManualInstrumentations.Registered");
    
  4. Create an Activity (Span). Optionally, set tags:

    using (var activity = RegisteredActivity.StartActivity("Custom Span Name"))
    {
       // Check if the activity is sampled and if full data collection is enabled.
       // This ensures that tags and other custom attributes are only set when the activity is being recorded.
       // Note: Ensure that skipping logic based on sampling does not interfere with essential business operations.
       if(activity?.IsAllDataRequested)
       {
          // your logic for custom activity
          activity.SetTag("foo", "bar1");
       }
    }
    
  5. OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES 環境変数を設定して、ActivitySource を登録します。この値は Examples.ManualInstrumentations.Registered か、プレフィックス全体を登録する Examples.ManualInstrumentations.* のどちらかに設定できます。

  6. Invoke the action that generates an Activity, note the trace ID of the Activity, and locate the trace in Splunk APM. You should now see a span with the display name 「Custom Span Name」 in the trace tree.

追加情報と例については、OpenTelemetry 公式ドキュメント を参照してください。

カスタムメトリクスの作成 🔗

カスタムメトリクスを作成するには、以下の手順に従います:

  1. System.Diagnostics.DiagnosticSource の依存関係をプロジェクトに追加します:

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="9.0.0" />
    
  2. Meter インスタンスを作成します:

    using var meter = new Meter("My.Application", "1.0");
    
  3. Instrument インスタンスを作成します:

    var counter = meter.CreateCounter<long>("custom.counter", description: "Custom counter's description");
    
  4. Instrument の値を更新します:

    counter.Add(1);
    
  5. OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES 環境変数を設定して、Meter を OpenTelemetry.AutoInstrumentation に登録します:

    OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=My.Application
    

See the OpenTelemetry official documentation for additional information and examples.

このページは 2025年03月19日 に最終更新されました。