Observerbarhet

Inlägg relaterade till observerbarhet och OpenTelemetry.

.NET 11 RC1 är här

Nu är .NET 11 RC1 här: Från C# 15 Discriminated Unions till Runtime Async och Inbyggd Telemetri

Milstolpen .NET 11 Release Candidate 1 (RC1) har officiellt släppts med en så kallad Go-Live license. Det innebär att ramverket nu är funktionellt komplett, stabilt och redo för utvärdering i skarpa miljöer.

För dig som följt min bloggserie om ekosystemets utveckling – från Historien bakom .NET (från .NET Framework till .NET 10) till min förhandstitt i Historien om .NET 11 – är RC1-släppet den perfekta mätpunkten. Nu ser vi exakt vilka funktioner som landar i koden när C# 15 blir standard.

Distributerad spårning i C# med ActivitySource: W3C Trace Context från Web API till workers

När ett flöde passerar ett Web API, en meddelandekö, en outbox och flera workers räcker det inte att läsa en logg i taget. Med distribuerad spårning kan vi följa arbetet genom flera processer och se var tid går eller var ett fel uppstår.

Den här artikeln visar hur du använder .NET:s ActivitySource tillsammans med OpenTelemetry och W3C Trace Context. Vi går från grundbegreppen till propagering över HTTP och meddelandeköer, och skiljer tydligt på ett trace-id och ett eget X-Correlation-ID.

Gör telemetri enkelt: Bygg ett gemensamt NuGet-paket för .NET Aspire och OpenTelemetry

Tänk dig att du leder en organisation med ett 20-tal olika applikationer och mikrotjänster. Du vill ha perfekt observerbarhet – strukturerad JSON-loggning, distribuerad spårning (Distributed Tracing) och prestandamätetal (Metrics). Men du vill inte tvinga varje enskilt produktteam att bli experter på OpenTelemetry-arkitektur, Serilog-konfiguration eller DevOps-pipelines.

Lösningen? Du bygger ett internt NuGet-paket (t.ex. Company.Telemetry) som paketerar organisationens best practices. Det bästa av allt? Genom att hålla oss strikt till .NET-standarder som ILogger och Activity kan produktteamen logga precis som vanligt, medan vårt paket sköter magin under huven – oavsett om de kör lokalt med .NET Aspire eller i produktion mot en central OpenTelemetry Collector.

I den här bloggposten går vi igenom exakt hur du bygger detta paket.

Observerbarhet med .NET 10 och OpenTelemetry: Från Noll till Aspire-Ready

Att bygga distribuerade system och mikrotjänster utan ordentlig insyn är som att köra bil med förbundna ögon. När något går fel vill du inte leta febrilt i isolerade textfiler på fem olika servrar. Du vill ha en sammanhängande berättelse som visar vem som gjorde anropet, vad som hände och varför det tog tid.

I .NET 10 är OpenTelemetry (OTel) den absoluta guldstandarden för detta. Det är en öppen, leverantörsoberoende standard som gör att du kan samla in Traces (spår), Logs (loggar) och Metrics (mätvärden) utan att låsa upp dig till specifika plattformar som Datadog eller Dynatrace.

I den här guiden bygger vi en komplett, produktionsredo observerbarhetspipeline i .NET 10 – från grundläggande arkitektur till smarta enrichers. När vi är klara är din applikation helt redo att sömlöst pluggas rakt in i verktyg som .NET Aspire Dashboard.

Tillbaka till startsidan