Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Voor deze functie is het NuGet-pakket Microsoft.Testing.Extensions.OpenTelemetry vereist.
Deze extensie integreert OpenTelemetry met Microsoft. Testing.Platform (MTP), waarmee testuitvoeringen traceringen en metrische gegevens kunnen verzenden via de standaard OpenTelemetry SDK.
Opmerking
Deze extensie is beschikbaar in MTP vanaf versie 2.1.0.
Belangrijk
Vanaf MTP 2.4.0 volgt de OpenTelemetry-extensie de MTP-releaseversie en zijn de openbare toegangspunten niet meer experimenteel.
Registration
Opmerking
Deze extensie biedt geen ondersteuning voor automatische registratie. U moet het handmatig registreren door het automatisch gegenereerde toegangspunt (<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>) uit te schakelen en aan te roepen AddOpenTelemetryProvider in uw Main methode.
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();
Als u instrumentatie, resourcekenmerken en een OTLP-exporteur wilt configureren vanuit standaardomgevingsvariabelen OTEL_* , roept u het volgende aan:
builder.AddOpenTelemetryProviderFromEnvironment();
Met de methode wordt alleen instrumentatie toegevoegd wanneer u een exporteur configureert of een callback voor configuratie doorgeeft, zodat u de registratie in de toepassing kunt verlaten wanneer sommige omgevingen geen telemetrie exporteren.
API
AddOpenTelemetryProvider
Registreert de OpenTelemetry-provider op ITestApplicationBuilder. Accepteert twee optionele callbacks:
-
withTracing: hiermee configureert u deTracerProviderBuildervoor gedistribueerde tracering. -
withMetrics: hiermee configureert u deMeterProviderBuilderverzameling voor metrische gegevens.
AddTestingPlatformInstrumentation
Roep TracerProviderBuilder aan en abonneer u op MeterProviderBuilder om de ingebouwde Microsoft.Testing.Platform activiteitsbron en meter te gebruiken.
AddTestingPlatformResource
Roep aan ResourceBuilder om testassembly-, host-, besturingssysteem- en runtimekenmerken toe te voegen. De detector identificeert ook CI-provider, pijplijn, vertakking en doorvoerinformatie voor GitHub Actions, Azure-pipelines, GitLab CI en Jenkins.
AddOpenTelemetryProviderFromEnvironment
Configureert tracering, metrische gegevens, resourcedetectie en een OTLP-exporteur op basis van standaardomgevingsvariabelen van OpenTelemetry.
OTEL_SDK_DISABLED=true schakelt de integratie uit. Configureer OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER of OTEL_EXPORTER_OTLP_ENDPOINT om export te activeren.
Activiteitsbron en meter
De extensie verzendt telemetrie onder:
- Activiteitsbron:
Microsoft.Testing.Platform - Meter:
Microsoft.Testing.Platform
Semantische conventies
MTP verzendt standaard OpenTelemetry-tests en codekenmerken waar een conventie bestaat, waaronder test.case.name, , test.case.result.statustest.suite.name, , code.function.name, code.file.path, code.line.number, , en code.stacktrace.error.type Mislukte tests stellen de spanstatus in Error op en voegen een exception gebeurtenis toe.
MTP breidt de conventies uit met aanvullende resultaatstatussen (skipped, error, timeout, cancelleden ) en unknowntestkenmerken voor concepten die niet door OpenTelemetry worden gedefinieerd. Als u bestaande dashboards wilt behouden, blijven verouderde kenmerk- en instrumentnamen standaard ingeschakeld.
Wanneer het startproces TRACEPARENT en TRACESTATE meegeeft, plaatst MTP de testuitvoering onder die trace in plaats van een ongerelateerde root-trace te starten.
Uitgezonden metingen
| Instrument | Typ | Eenheid | Description |
|---|---|---|---|
test.case.duration |
Histogram | s |
Testduur, gegroepeerd op resultaatstatus en suite. |
test.case.result.count |
Counter | {test} |
Voltooide tests, gegroepeerd op resultaatstatus en suite. |
test.case.active |
UpDownCounter | {test} |
Tests die momenteel worden uitgevoerd. |
test.run.duration |
Histogram | s |
Uitvoeringsduur, gegroepeerd op resultaatstatus en afsluitcode. |
test.case.retry.count |
Counter | {test} |
Tests gepland voor een andere poging door de extensie voor opnieuw proberen. |
Omgevingsconfiguratie
| Omgevingsvariabele | Verstek | Description |
|---|---|---|
TRACEPARENT, TRACESTATE |
Ongedefinieerd | W3C-tracecontext voor de bovenliggende run. |
TESTINGPLATFORM_OTEL_CAPTURE_TEST_OUTPUT |
1 |
Koppelt vastgelegde standaarduitvoer en -fout aan testbereiken. Ingesteld op 0 wanneer uitvoer geheimen kan bevatten. |
TESTINGPLATFORM_OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT |
8192 |
Hiermee stelt u de maximumtekens in die worden bewaard voor een tekenreekskenmerk. |
TESTINGPLATFORM_OTEL_EMIT_LEGACY_ATTRIBUTES |
1 |
Geeft verouderde kenmerk- en instrumentnamen door naast namen volgens semantische conventies. |
OTEL_SDK_DISABLED |
Ongedefinieerd | Stel in op true om de OpenTelemetry SDK uit te schakelen. |
OTEL_SERVICE_NAME |
Ongedefinieerd | Overschrijft de servicenaam. |
OTEL_EXPORTER_OTLP_ENDPOINT |
Ongedefinieerd | Hiermee stelt u het OTLP-eindpunt in. |
OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER |
Ongedefinieerd | Selecteert trace- en metriekexporteurs. |