通过


OpenTelemetry

此功能需要 Microsoft.Testing.Extensions.OpenTelemetry NuGet 包。

此扩展将 OpenTelemetry 与 Microsoft.Testing.Platform 集成,允许测试运行通过标准 OpenTelemetry SDK 发出跟踪和指标。

重要

此扩展目前是实验性的。 所有公共 API 都封闭在 TPEXP 诊断 ID 后面。

Registration

注释

此扩展不支持自动注册。 必须通过禁用自动生成的入口点(<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>)并在你的Main方法中调用AddOpenTelemetryProvider来手动注册它。

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

调用TracerProviderBuilderMeterProviderBuilder来订阅内置的Microsoft.Testing.Platform活动源和计量器。

活动来源和测量器

该扩展会在以下情况下发出遥测:

  • 活动源: Microsoft.Testing.Platform
  • 米: Microsoft.Testing.Platform