C# Academy · leksjon

Samle inn måledata

Registrer tellere, målere og histogrammer.

Leksjon 3 av 413 trinn

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);  // finished

Observerbare 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.

Gratis å komme i gang

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

  1. Observabilitys tre søyler
  2. Distribuert sporing
  3. Samle inn måledata
  4. Eksportere til backends
← Tilbake til C# Academy