Partilhar via


OpenTelemetry

Esta funcionalidade requer o pacote Microsoft.Testing.Extensions.OpenTelemetry NuGet.

Esta extensão integra o OpenTelemetry com o Microsoft.Testing.Platform, permitindo que as execuções de teste emitam traços e métricas através do SDK padrão OpenTelemetry.

Importante

Esta extensão é atualmente experimental. Todas as APIs públicas estão associadas ao TPEXP ID de diagnóstico.

Registo

Observação

Esta extensão não suporta registo automático. Tem de o registar manualmente, desativando o ponto de entrada gerado automaticamente (<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>) e chamando AddOpenTelemetryProvider no seu método 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

Regista o fornecedor OpenTelemetry em ITestApplicationBuilder. Aceita dois callbacks opcionais:

  • withTracing: configura o TracerProviderBuilder para rastreamento distribuído.
  • withMetrics: configura a MeterProviderBuilder para a recolha de métricas.

AddTestingPlatformInstrumentation

Chame TracerProviderBuilder ou MeterProviderBuilder para subscrever à fonte de atividade e ao contador incorporados Microsoft.Testing.Platform.

Fonte de atividade e medidor

A extensão emite telemetria embaixo:

  • Fonte da atividade: Microsoft.Testing.Platform
  • Medidor: Microsoft.Testing.Platform