此功能需要 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
调用TracerProviderBuilder或MeterProviderBuilder来订阅内置的Microsoft.Testing.Platform活动源和计量器。
活动来源和测量器
该扩展会在以下情况下发出遥测:
- 活动源:
Microsoft.Testing.Platform - 米:
Microsoft.Testing.Platform