此功能需要 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