Створення власних трейсів та метрик
Автоматична інструменталізація налаштовує 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 activity }Зареєструйте ваш
ActivitySourceв OpenTelemetry.AutoInstrumentation, встановивши змінну середовищаOTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES. Ви можете встановити значення якExamples.ManualInstrumentations.Registered, так іExamples.ManualInstrumentations.*, що реєструє весь префікс.
Activity, створений для NonRegistered.ManualInstrumentations ActivitySource, не обробляється автоматичною інструменталізацією OpenTelemetry.
Метрики
Щоб створити власні метрики вручну, виконайте наступні кроки:
Додайте залежність
System.Diagnostics.DiagnosticSourceдо вашого проєкту:<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />Створіть екземпляр
Meter:using var meter = new Meter("Examples.Service", "1.0");Створіть
Instrument:var successCounter = meter.CreateCounter<long>("srv.successes.count", description: "Number of successful responses");Оновіть значення
Instrument. За бажанням, встановіть теґи:successCounter.Add(1, new KeyValuePair<string, object?>("tagName", "tagValue"));Зареєструйте ваш
Meterв OpenTelemetry.AutoInstrumentation, встановивши змінну середовищаOTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES:OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=Examples.ServiceВи можете встановити значення як
Examples.Service, так іExamples.*, що реєструє весь префікс.
Додаткові матеріали
Зворотний зв’язок
Чи була ця сторінка корисною?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!