Поделиться через


OpenTelemetry

Для этой функции требуется пакет NuGet Microsoft.Testing.Extensions.OpenTelemetry .

Это расширение интегрирует OpenTelemetry с Microsoft.Testing.Platform, позволяя тестовые запуски выдавать трассировки и метрики через стандартный пакет SDK OpenTelemetry.

Это важно

Это расширение в настоящее время экспериментально. Все общедоступные API защищены идентификатором диагностики TPEXP.

Регистрация

Замечание

Это расширение не поддерживает автоматическую регистрацию. Его необходимо зарегистрировать вручную, отключив автоматически созданную точку входа (<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>) и вызвав AddOpenTelemetryProvider в методе Main .

var builder = await TestApplication.CreateBuilderAsync(args);

builder.AddOpenTelemetryProvider(
    withTracing: tracing => tracing
        .AddTestingPlatformInstrumentation()
        .AddConsoleExporter(),
    withMetrics: metrics => metrics
        .AddTestingPlatformInstrumentation()
        .AddConsoleExporter()
);

using var app = await builder.BuildAsync();
return await app.RunAsync();

API

AddOpenTelemetryProvider

Регистрируется провайдер OpenTelemetry в ITestApplicationBuilder. Принимает два необязательных обратных вызова:

  • withTracing: настраивает TracerProviderBuilder для распределенной трассировки.
  • withMetrics: настраивает MeterProviderBuilder для сбора метрик.

AddTestingPlatformInstrumentation

Обратитесь к TracerProviderBuilder или MeterProviderBuilder, чтобы подписаться на встроенный источник активности и счетчик Microsoft.Testing.Platform.

Источник действия и счетчик

Расширение выдает данные телеметрии в следующих условиях:

  • Источник действия: Microsoft.Testing.Platform
  • Метр: Microsoft.Testing.Platform