共用方式為


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