Створення власних трейсів та метрик

Власні трейси та метрики за допомогою автоматичної інструменталізації .NET.

Автоматична інструменталізація налаштовує TracerProvider та MeterProvider, щоб ви могли додати власну ручну інструменталізацію. Використовуючи як автоматичну, так і ручну інструменталізацію, ви можете краще інструментувати логіку та функціональність ваших застосунків, клієнтів та фреймворків.

Трейси

Щоб створити власні трейси вручну, виконайте наступні кроки:

  1. Додайте залежність System.Diagnostics.DiagnosticSource до вашого проєкту:

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />
    
  2. Створіть екземпляр ActivitySource:

    private static readonly ActivitySource RegisteredActivity = new ActivitySource("Examples.ManualInstrumentations.Registered");
    
  3. Створіть Activity. За бажанням, встановіть теґи:

    using (var activity = RegisteredActivity.StartActivity("Main"))
    {
       activity?.SetTag("foo", "bar1");
       // ваша логіка для Main activity
    }
    
  4. Зареєструйте ваш ActivitySource в OpenTelemetry.AutoInstrumentation, встановивши змінну середовища OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES. Ви можете встановити значення як Examples.ManualInstrumentations.Registered, так і Examples.ManualInstrumentations.*, що реєструє весь префікс.

Метрики

Щоб створити власні метрики вручну, виконайте наступні кроки:

  1. Додайте залежність System.Diagnostics.DiagnosticSource до вашого проєкту:

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />
    
  2. Створіть екземпляр Meter:

    using var meter = new Meter("Examples.Service", "1.0");
    
  3. Створіть Instrument:

    var successCounter = meter.CreateCounter<long>("srv.successes.count", description: "Number of successful responses");
    
  4. Оновіть значення Instrument. За бажанням, встановіть теґи:

    successCounter.Add(1, new KeyValuePair<string, object?>("tagName", "tagValue"));
    
  5. Зареєструйте ваш Meter в OpenTelemetry.AutoInstrumentation, встановивши змінну середовища OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES:

    OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=Examples.Service
    

    Ви можете встановити значення як Examples.Service, так і Examples.*, що реєструє весь префікс.

Додаткові матеріали


Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (2a3c5648)