Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här funktionen kräver NuGet-paketet Microsoft.Testing.Extensions.OpenTelemetry .
Det här tillägget integrerar OpenTelemetry med Microsoft. Testing.Platform (MTP), vilket gör att testkörningar kan generera spårningar och mått via standard-OpenTelemetry SDK.
Anmärkning
Det här tillägget är tillgängligt i MTP från och med version 2.1.0.
Viktigt!
Från och med MTP 2.4.0 följer OpenTelemetry-tillägget MTP-versionen och dess offentliga startpunkter är inte längre experimentella.
Registration
Anmärkning
Det här tillägget stöder inte automatisk registrering. Du måste registrera den manuellt genom att inaktivera den automatiskt genererade startpunkten (<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>) och anropa AddOpenTelemetryProvider i din Main metod.
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();
Om du vill konfigurera instrumentation, resursattribut och en OTLP-exportör från standardmiljövariabler OTEL_* anropar du:
builder.AddOpenTelemetryProviderFromEnvironment();
Metoden lägger bara till instrumentation när du konfigurerar en exportör eller skickar ett konfigurationsåteranrop, så att du kan lämna registreringen i programmet när vissa miljöer inte exporterar telemetri.
API (gränssnitt för programmering av applikationer)
AddOpenTelemetryProvider
Registrerar OpenTelemetry-providern på ITestApplicationBuilder. Accepterar två valfria återanrop:
-
withTracing: konfigurerarTracerProviderBuilderför distribuerad spårning. -
withMetrics: konfigurerarMeterProviderBuilderför insamling av metrik.
AddTestingPlatformInstrumentation
Anropa TracerProviderBuilder eller MeterProviderBuilder för att prenumerera på den inbyggda Microsoft.Testing.Platform-aktivitetskällan och mätaren.
AddTestingPlatformResource
Anropa ResourceBuilder för att lägga till testsammansättnings-, värd-, operativsystems- och körningsattribut. Detektorn identifierar även CI-provider, pipeline, gren och incheckningsinformation för GitHub Actions, Azure-pipelines, GitLab CI och Jenkins.
AddOpenTelemetryProviderFromEnvironment
Registrerar spårning, mått, resursidentifiering och en OTLP-exportör från standardvariabler för OpenTelemetry-miljön.
OTEL_SDK_DISABLED=true inaktiverar integreringen. Konfigurera OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTEReller OTEL_EXPORTER_OTLP_ENDPOINT för att aktivera export.
Aktivitetskälla och mätare
Tillägget genererar telemetri under:
- Aktivitetskälla:
Microsoft.Testing.Platform - Mätare:
Microsoft.Testing.Platform
Semantiska konventioner
MTP genererar standardattribut för OpenTelemetry-testning och kod där det finns en konvention, inklusive test.case.name, test.case.result.status, test.suite.namecode.function.name, code.file.path, , code.line.number, code.stacktraceoch error.type. Misslyckade tester anger span-status till Error och lägger till en exception händelse.
MTP utökar konventionerna med ytterligare resultattillstånd (skipped, error, timeout, cancelled och unknown) och testattribut för begrepp som OpenTelemetry inte definierar. För att bevara befintliga instrumentpaneler förblir äldre attribut och instrumentnamn aktiverade som standard.
När startprocessen levererar TRACEPARENT och TRACESTATE placerar MTP testkörningen under det spåret i stället för att starta ett orelaterat rotspår.
Utskickade mätvärden
| Instrument | Type | Enhet | Description |
|---|---|---|---|
test.case.duration |
Histogram | s |
Testvaraktighet, grupperad efter resultatstatus och svit. |
test.case.result.count |
Counter | {test} |
Slutförda tester, grupperade efter resultatstatus och svit. |
test.case.active |
Upp-och-ner-räknare | {test} |
Tester som körs för närvarande. |
test.run.duration |
Histogram | s |
Körningsvaraktighet, grupperad efter resultatstatus och slutkod. |
test.case.retry.count |
Counter | {test} |
Tester som schemalagts för ett nytt försök av återförsökstillägget. |
Miljökonfiguration
| Miljövariabel | Standardinställning | Description |
|---|---|---|
TRACEPARENT, TRACESTATE |
Inaktivera | W3C-spårningskontext för den överordnade körningen. |
TESTINGPLATFORM_OTEL_CAPTURE_TEST_OUTPUT |
1 |
Kopplar insamlade standardutdata och fel till testintervall. Ange till 0 när utdata kan innehålla hemligheter. |
TESTINGPLATFORM_OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT |
8192 |
Anger maximalt antal tecken som behålls för ett strängattribut. |
TESTINGPLATFORM_OTEL_EMIT_LEGACY_ATTRIBUTES |
1 |
Genererar äldre attribut och instrumentnamn tillsammans med semantiska konventionsnamn. |
OTEL_SDK_DISABLED |
Inaktivera | Ange till true för att inaktivera OpenTelemetry-SDK:n. |
OTEL_SERVICE_NAME |
Inaktivera | Åsidosätter tjänstnamnet. |
OTEL_EXPORTER_OTLP_ENDPOINT |
Inaktivera | Anger OTLP-slutpunkten. |
OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER |
Inaktivera | Väljer spår- och mätvärdesexportörer. |