Raccolta delle metriche
Registri contatori, gauge e istogrammi.
Raccolta delle metriche è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Perché usare le metriche
Le metriche sono misurazioni numeriche aggregate nel tempo. Alimentano dashboard e avvisi: frequenza delle richieste, numero di errori, latenza, profondità della coda. A differenza dei log, rimangono economiche anche ad alto volume perché aggregano i dati.
L'API Meter
.NET emette metriche tramite System.Diagnostics.Metrics. Si crea un Meter e lo si usa per creare strumenti come counter e histogram.
using System.Diagnostics.Metrics;
private static readonly Meter Meter = new("Checkout.Orders");Counter
Un Counter è un valore che può solo aumentare, ideale per contare eventi come ordini effettuati o errori. Si chiama Add per incrementarlo.
private static readonly Counter<long> OrdersPlaced =
Meter.CreateCounter<long>("orders.placed");
OrdersPlaced.Add(1);Dimensioni del Counter
Associ tag per suddividere un counter in base a una dimensione, come lo stato o la regione, così potrà aggregare e filtrare i dati nel backend.
OrdersPlaced.Add(1,
new KeyValuePair<string, object>("status", "completed"),
new KeyValuePair<string, object>("region", "eu"));Histogram
Un Histogram registra la distribuzione dei valori, ed è ideale per la latenza o le dimensioni dei payload. I backend calcolano i percentili (p50, p95, p99) a partire dai campioni registrati.
private static readonly Histogram<double> OrderDuration =
Meter.CreateHistogram<double>("order.duration", "ms");
OrderDuration.Record(elapsedMs);UpDownCounter
Un UpDownCounter può aumentare o diminuire, quindi è adatto a valori come le connessioni attive o gli elementi attualmente presenti in una coda.
private static readonly UpDownCounter<long> ActiveOrders =
Meter.CreateUpDownCounter<long>("orders.active");
ActiveOrders.Add(1); // started
ActiveOrders.Add(-1); // finishedStrumenti Observable
Gli strumenti Observable vengono letti su richiesta tramite una callback e sono adatti a gauge come la memoria attualmente utilizzata o la dimensione della cache, che vengono campionati invece di essere incrementati.
Meter.CreateObservableGauge("cache.size",
() => _cache.Count);Registrare il Meter
Come per il tracing, OTel raccoglie solo i meter registrati. Usi AddMeter con il nome del meter.
builder.Services.AddOpenTelemetry()
.WithMetrics(metrics => metrics
.AddMeter("Checkout.Orders"));Metriche integrate
I pacchetti di strumentazione espongono metriche già pronte per ASP.NET Core (durata delle richieste, richieste attive) e per il runtime (GC, thread pool), offrendo informazioni operative immediate.
metrics
.AddAspNetCoreInstrumentation()
.AddRuntimeInstrumentation();Scegliere lo strumento giusto
Scelga in base al comportamento: conteggio monotono (Counter), valore che aumenta e diminuisce (UpDownCounter), distribuzione (Histogram), valore corrente campionato (Observable Gauge). La scelta giusta rende semplici dashboard e avvisi.
Tenere sotto controllo la cardinalità
Ogni combinazione univoca di tag crea una serie temporale separata. I tag ad alta cardinalità (come l'ID utente) possono far esplodere lo spazio di archiviazione e i costi. Usi dimensioni limitate e a bassa cardinalità, come lo stato o la regione.
Verifica rapida
Verifichi la raccolta delle metriche.
Riepilogo
Le metriche aggregano misurazioni numeriche in modo economico. L'API Meter crea strumenti: Counter (monotono), UpDownCounter (aumenta e diminuisce), Histogram (distribuzioni per i percentili) e gauge Observable (campionati). I tag aggiungono dimensioni, ma è necessario controllare la cardinalità. Registri i meter con AddMeter e aggiunga la strumentazione integrata per ASP.NET Core e per il runtime per ottenere informazioni immediate.
Impara C# con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 93
- Lezioni
- 346
Domande Frequenti
La lezione «Raccolta delle metriche» è gratuita?
Sì — il testo completo di «Raccolta delle metriche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Raccolta delle metriche»?
Registri contatori, gauge e istogrammi. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Raccolta delle metriche»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- I tre pilastri dell'osservabilità
- Tracing distribuito
- Raccolta delle metriche
- Esportazione verso i backend