Indsamling af metrics
Registrér tællere, målere og histogrammer.
Indsamling af metrics er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 4 lektioner i alt.
Hvorfor metrikker
Metrikker er numeriske målinger, der aggregeres over tid. De driver dashboards og alarmer: anmodningsrate, antal fejl, latenstid og kødybde. I modsætning til logposter forbliver de billige ved høj belastning, fordi de aggregeres.
Meter-API'et
.NET udsender metrikker via System.Diagnostics.Metrics. Du opretter en Meter og bruger den derefter til at oprette instrumenter som tællere og histogrammer.
using System.Diagnostics.Metrics;
private static readonly Meter Meter = new("Checkout.Orders");Tællere
En Counter er en værdi, der kun stiger, og den er derfor perfekt til at tælle hændelser som gennemførte ordrer eller fejl. Du kalder Add for at øge den.
private static readonly Counter<long> OrdersPlaced =
Meter.CreateCounter<long>("orders.placed");
OrdersPlaced.Add(1);Tællerdimensioner
Føj tags til for at opdele en tæller efter dimensioner, f.eks. status eller region, så du kan aggregere og filtrere i dit backend-system.
OrdersPlaced.Add(1,
new KeyValuePair<string, object>("status", "completed"),
new KeyValuePair<string, object>("region", "eu"));Histogrammer
Et Histogram registrerer en fordeling af værdier og er ideelt til latenstid eller nyttelaststørrelser. Backend-systemer beregner percentiler (p50, p95, p99) ud fra de registrerede stikprøver.
private static readonly Histogram<double> OrderDuration =
Meter.CreateHistogram<double>("order.duration", "ms");
OrderDuration.Record(elapsedMs);Op-og-ned-tællere
En UpDownCounter kan både stige og falde og egner sig til værdier som aktive forbindelser eller elementer, der aktuelt ligger 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 aflæses efter behov via et tilbagekald og er velegnede til målere som aktuel hukommelse eller cachestørrelse, som du aflæser i stedet for at øge.
Meter.CreateObservableGauge("cache.size",
() => _cache.Count);Registrer Meter
Ligesom ved sporing indsamler OTel kun de målere, du registrerer. Brug AddMeter sammen med dit målernavn.
builder.Services.AddOpenTelemetry()
.WithMetrics(metrics => metrics
.AddMeter("Checkout.Orders"));Indbyggede metrikker
Instrumenteringspakker stiller færdige metrikker til rådighed for ASP.NET Core (anmodningsvarighed, aktive anmodninger) og kørselsmiljøet (GC, trådpulje), så du får øjeblikkelig driftsindsigt.
metrics
.AddAspNetCoreInstrumentation()
.AddRuntimeInstrumentation();Vælg det rigtige instrument
Vælg ud fra adfærden: monoton optælling (Counter), en værdi, der stiger og falder (UpDownCounter), en fordeling (Histogram) eller en stikprøvet aktuel værdi (Observable Gauge). Det rigtige valg gør dashboards og alarmer enkle at opbygge.
Hold kardinaliteten under kontrol
Hver unik kombination af tags opretter en separat tidsserie. Tags med høj kardinalitet (f.eks. bruger-id) kan få lagerforbrug og omkostninger til at eksplodere. Brug afgrænsede dimensioner med lav kardinalitet, f.eks. status eller region.
Hurtigt tjek
Afprøv indsamling af metrikker.
Opsummering
Metrikker aggregerer numeriske målinger billigt. Meter-API'et opretter instrumenter: Counter (monoton), UpDownCounter (stiger og falder), Histogram (fordelinger til percentiler) og Observable-målere (stikprøvebaserede). Tags tilføjer dimensioner, men hold øje med kardinaliteten. Registrer målere med AddMeter, og tilføj indbygget ASP.NET Core- og kørselsinstrumentering for at få øjeblikkelig indsigt.
Lær C# med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 93
- Lektioner
- 346
Ofte stillede spørgsmål
Er lektionen “Indsamling af metrics” gratis?
Ja — hele teksten til “Indsamling af metrics” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Indsamling af metrics”?
Registrér tællere, målere og histogrammer. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på C# Academy?
Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Indsamling af metrics”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne C# Academy-lektion?
Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Observerbarhedens tre søjler
- Distribueret tracing
- Indsamling af metrics
- Eksport til backends