OpenTelemetry is een open-source project dat de nieuwe standaard is voor het genereren en verzamelen van telemetriegegevens zoals traces, metrics en logs van je services. OpenTelemetry is al sinds 2019 aan de weg aan het timmeren, en hoewel er als .NET ontwikkelaar behoorlijk wat onder de motorkap voor je gebeurd, is het wel goed om er een beetje gevoel bij te hebben.

Welk probleem lost OpenTelemetry op?

In het verleden had elke monitoring agent zijn eigen format en API’s voor het verzamelen en versturen van gegevens. Dat betekent dat de implementatie van je software behoorlijk “tightly coupled” kan raken met één specifieke implementatie telemetry. OpenTelemetry is een set van API’s, libraries, agenten, en collector services om telemetriegegevens (traces, metrics, en logs) te genereren, verzamelen, en exporteren voor analyse door verschillende open-source of commerciële back-ends.

Waarom OpenTelemetry?

Het doel van OpenTelemetry is om alle telemetriegegevens op een consistente, efficiënte en draagbare manier te verzamelen. Het biedt één set van API’s en libraries die kan worden gebruikt om telemetriegegevens te verzamelen en te verzenden naar meerdere monitoring- en observabilityplatforms zonder wijziging van de applicatiecode.

Hoe werkt OpenTelemetry in .NET?

OpenTelemetry SDK

De OpenTelemetry SDK is een uitbreiding in .NET op de bestaande tracing en metering libraries die je al gewend bent.

De voornaamste configuratie vind plaats in de startup van je applicatie:

Na het registreren van de middleware kun je de metrics inregelen:

OpenTelemetry Metrics

En last but not least regel je de trace configuratie in:

OpenTelemetry Configuratie

Daarnaast implementeer je in de applicatie specifieke activiteiten, meters of traces. Hierbij blijft gelden dat je dit op een manier moet doen die de code niet “tightly coupled” met de monitoring maakt.

Conclusie

OpenTelemetry is een krachtig hulpmiddel dat ontwikkelaars helpt bij het begrijpen en observeren van hun systemen door het verzamelen van waardevolle telemetriegegevens. Door het gebruik van OpenTelemetry kunnen teams problemen sneller opsporen en oplossen, wat leidt tot meer stabiele en betrouwbare software.

Duik er vooral zelf in door de Microsoft Learn documentatie door te lopen:

https://learn.microsoft.com/en-us/dotnet/core/diagnostics/observability-with-otel