Samle inn måledata
Registrer tellere, målere og histogrammer.
Samle inn måledata er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C# Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C# Academy inneholder totalt 4 leksjoner.
Hvorfor metrikker
Metrikker er numeriske målinger som aggregeres over tid. De brukes til dashbord og varsler: forespørselsrate, antall feil, ventetid og kødybde. I motsetning til logger forblir de rimelige ved høyt volum fordi de aggregeres.
Meter-API-et
.NET sender ut metrikker gjennom System.Diagnostics.Metrics. Du oppretter en Meter og bruker den deretter til å opprette instrumenter som tellere og histogrammer.
using System.Diagnostics.Metrics;
private static readonly Meter Meter = new("Checkout.Orders");Tellere
En Counter er en verdi som bare øker, og egner seg godt til å telle hendelser som opprettede ordrer eller feil. Du kaller Add for å øke den.
private static readonly Counter<long> OrdersPlaced =
Meter.CreateCounter<long>("orders.placed");
OrdersPlaced.Add(1);Tellerdimensjoner
Knytt tagger til en teller for å dele den inn etter dimensjoner, for eksempel status eller region, slik at du kan aggregere og filtrere i backend-systemet.
OrdersPlaced.Add(1,
new KeyValuePair<string, object>("status", "completed"),
new KeyValuePair<string, object>("region", "eu"));Histogrammer
Et Histogram registrerer en fordeling av verdier og egner seg godt for ventetid eller nyttelaststørrelser. Backend-systemer beregner persentiler (p50, p95, p99) fra de registrerte utvalgene.
private static readonly Histogram<double> OrderDuration =
Meter.CreateHistogram<double>("order.duration", "ms");
OrderDuration.Record(elapsedMs);UpDownCounters
En UpDownCounter kan øke eller synke og passer for verdier som aktive tilkoblinger eller antall elementer i en kø.
private static readonly UpDownCounter<long> ActiveOrders =
Meter.CreateUpDownCounter<long>("orders.active");
ActiveOrders.Add(1); // started
ActiveOrders.Add(-1); // finishedObserverbare instrumenter
Observable-instrumenter leses ved behov via en callback og egner seg for målere som aktuell minnebruk eller hurtigbufferstørrelse, som avleses i stedet for å økes.
Meter.CreateObservableGauge("cache.size",
() => _cache.Count);Registrere Meter
Som ved sporing samler OTel bare inn målere som er registrert. Bruk AddMeter med navnet på måleren.
builder.Services.AddOpenTelemetry()
.WithMetrics(metrics => metrics
.AddMeter("Checkout.Orders"));Innebygde metrikker
Instrumenteringspakker eksponerer ferdige metrikker for ASP.NET Core (forespørselsvarighet, aktive forespørsler) og kjøretidsmiljøet (GC, trådpool), noe som gir umiddelbar operasjonell innsikt.
metrics
.AddAspNetCoreInstrumentation()
.AddRuntimeInstrumentation();Velge riktig instrument
Velg etter atferd: monoton telling (Counter), en verdi som øker og synker (UpDownCounter), en fordeling (Histogram) eller en avlest aktuell verdi (Observable Gauge). Riktig valg gjør dashbord og varsler enkle å utforme.
Hold kardinaliteten under kontroll
Hver unik kombinasjon av tagger oppretter en separat tidsserie. Tagger med høy kardinalitet (for eksempel bruker-ID) kan få lagringsbehov og kostnader til å eksplodere. Bruk avgrensede dimensjoner med lav kardinalitet, for eksempel status eller region.
Hurtigsjekk
Test innsamling av metrikker.
Oppsummering
Metrikker aggregerer numeriske målinger kostnadseffektivt. Meter-API-et oppretter instrumenter: Counter (monoton), UpDownCounter (øker og synker), Histogram (fordelinger for persentiler) og Observable-målere (avleste). Tagger legger til dimensjoner, men følg med på kardinaliteten. Registrer målere med AddMeter, og legg til innebygd instrumentering for ASP.NET Core og kjøretidsmiljøet for umiddelbar innsikt.
Lær deg C# med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 93
- Leksjoner
- 346
Ofte stilte spørsmål
Er leksjonen «Samle inn måledata» gratis?
Ja – hele teksten i «Samle inn måledata» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C# Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C# Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Samle inn måledata»?
Registrer tellere, målere og histogrammer. Du øver på C# Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med C# Academy?
Ingen tidligere erfaring er nødvendig. C# Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Samle inn måledata»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne C# Academy-leksjonen?
Ja. Alle C# Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Observabilitys tre søyler
- Distribuert sporing
- Samle inn måledata
- Eksportere til backends