Compartilhar via


OpenTelemetry

Esse recurso requer o pacote NuGet Microsoft.Testing.Extensions.OpenTelemetry .

Essa extensão integra o OpenTelemetry com Microsoft.Testing.Platform, permitindo que as execuções de teste emitam rastreamentos e métricas por meio do SDK OpenTelemetry padrão.

Importante

No momento, essa extensão é experimental. Todas as APIs públicas estão restritas pelo ID de diagnóstico TPEXP.

Registration

Observação

Essa extensão não dá suporte ao registro automático. Você deve registrá-lo manualmente desabilitando 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

Registra o provedor OpenTelemetry em ITestApplicationBuilder. Aceita dois retornos de chamada opcionais:

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

AddTestingPlatformInstrumentation

Para assinar a origem de atividades e o medidor integrados, use TracerProviderBuilder ou MeterProviderBuilder.

Origem e métricas de atividade

A extensão emite telemetria em:

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