Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato funkce vyžaduje balíček NuGet Microsoft.Testing.Extensions.OpenTelemetry .
Toto rozšíření integruje OpenTelemetry s Microsoft.Testing.Platform (MTP), což umožňuje běhům testů emitovat stopy a metriky prostřednictvím standardní sady OpenTelemetry SDK.
Poznámka:
Toto rozšíření je k dispozici v MTP od verze 2.1.0.
Důležité
Od verze MTP 2.4.0 se rozšíření OpenTelemetry řídí verzí MTP a její veřejné vstupní body už nejsou experimentální.
Registrace
Poznámka:
Toto rozšíření nepodporuje automatickou registraci. Musíte ho zaregistrovat ručně zakázáním automaticky generovaného vstupního bodu (<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>) a voláním AddOpenTelemetryProvider ve vaší 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();
Chcete-li nakonfigurovat instrumentaci, atributy prostředků a exportér OTLP ze standardních proměnných prostředí OTEL_*, volejte:
builder.AddOpenTelemetryProviderFromEnvironment();
Metoda přidává instrumentaci pouze v případě, že nakonfigurujete vývozce nebo předáte zpětné volání konfigurace, takže registraci v aplikaci můžete nechat, když některá prostředí neexportuje telemetrii.
API
AddOpenTelemetryProvider
Zaregistruje poskytovatele OpenTelemetry na serveru ITestApplicationBuilder. Přijímá dvě volitelná zpětná volání:
-
withTracing: nakonfigurujeTracerProviderBuilderpro distribuované trasování. -
withMetrics: nakonfiguruje kolekciMeterProviderBuildermetrik.
AddTestingPlatformInstrumentation
Zavolejte na TracerProviderBuilder nebo MeterProviderBuilder pro přihlášení k odběru integrovaného Microsoft.Testing.Platform zdroje a měřiče aktivit.
AddTestingPlatformResource
Použijte ResourceBuilder k přidání atributů testovacího sestavení, hostitele, operačního systému a prostředí runtime. Detektor také identifikuje poskytovatele CI, pipeline, větev a informace o commitu pro GitHub Actions, Azure Pipelines, GitLab CI a Jenkins.
AddOpenTelemetryProviderFromEnvironment
Zaregistruje trasování, metriky, detekci prostředků a vývozce OTLP ze standardních proměnných prostředí OpenTelemetry.
OTEL_SDK_DISABLED=true zakáže integraci. Nakonfigurujte OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTERnebo OTEL_EXPORTER_OTLP_ENDPOINT aktivujte export.
Zdroj a měřič aktivity
Rozšíření generuje telemetrii v části:
- Zdroj aktivity:
Microsoft.Testing.Platform - Metr:
Microsoft.Testing.Platform
Sémantické konvence
MTP generuje standardní atributy OpenTelemetry pro testování a kód tam, kde existuje konvence, včetně test.case.name, test.case.result.status, test.suite.name, code.function.name, code.file.path, code.stacktrace, code.line.number a error.type. Neúspěšné testy nastaví stav spanu na Error a přidají událost exception.
MTP rozšiřuje konvence o další stavy výsledků (skipped, error, timeout, cancelleda ) a unknownatributy testování pro koncepty, které OpenTelemetry nedefinuje. Pokud chcete zachovat existující řídicí panely, starší názvy atributů a instrumentů zůstanou ve výchozím nastavení povolené.
Když proces spuštění poskytne TRACEPARENT a TRACESTATE, MTP umístí testovací běh pod tuto trasu, místo aby spustil nesouvisející kořenovou trasu.
Vygenerované metriky
| Nástroj | Typ | Jednotka | Description |
|---|---|---|---|
test.case.duration |
Histogram | s |
Doba trvání testu seskupená podle stavu výsledků a sady testů |
test.case.result.count |
Counter | {test} |
Dokončené testy seskupené podle stavu výsledku a sady |
test.case.active |
UpDownCounter | {test} |
Testy, které jsou aktuálně spuštěné. |
test.run.duration |
Histogram | s |
Doba trvání spuštění, seskupené podle stavu výsledku a ukončovací kód |
test.case.retry.count |
Counter | {test} |
Testy naplánované rozšířením pro opakování k dalšímu pokusu. |
Konfigurace prostředí
| Proměnná prostředí | Výchozí | Description |
|---|---|---|
TRACEPARENT, TRACESTATE |
Nenastavený | Kontext trasování W3C pro nadřazený běh. |
TESTINGPLATFORM_OTEL_CAPTURE_TEST_OUTPUT |
1 |
Připojí zachycený standardní výstup a chybu k rozsahu testů. Nastavte na 0, pokud výstup může obsahovat citlivé údaje. |
TESTINGPLATFORM_OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT |
8192 |
Nastaví maximální počet znaků zachovaných pro atribut řetězce. |
TESTINGPLATFORM_OTEL_EMIT_LEGACY_ATTRIBUTES |
1 |
Vypisuje starší názvy atributů a nástrojů spolu s názvy podle sémantických konvencí. |
OTEL_SDK_DISABLED |
Nenastavený | Nastavte na true, chcete-li zakázat OpenTelemetry SDK. |
OTEL_SERVICE_NAME |
Nenastavený | Přepíše název služby. |
OTEL_EXPORTER_OTLP_ENDPOINT |
Nenastavený | Nastaví koncový bod OTLP. |
OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER |
Nenastavený | Vybere trasovací a metrické exportéry. |