Metriken erfassen
Erfassen Sie Counter, Gauges und Histogramme.
Metriken erfassen ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Metriken?
Metriken sind numerische Messwerte, die über die Zeit aggregiert werden. Sie bilden die Grundlage für Dashboards und Alarme: Anfragerate, Fehleranzahl, Latenz und Queue-Tiefe. Anders als Logs bleiben sie bei hohem Volumen kostengünstig, weil sie aggregiert werden.
Die Meter-API
.NET gibt Metriken über System.Diagnostics.Metrics aus. Sie erstellen ein Meter und verwenden es anschließend, um Instrumente wie Counter und Histograms zu erstellen.
using System.Diagnostics.Metrics;
private static readonly Meter Meter = new("Checkout.Orders");Counter
Ein Counter ist ein Wert, der nur steigt, und eignet sich ideal zum Zählen von Ereignissen wie aufgegebenen Bestellungen oder Fehlern. Mit Add erhöhen Sie ihn.
private static readonly Counter<long> OrdersPlaced =
Meter.CreateCounter<long>("orders.placed");
OrdersPlaced.Add(1);Counter-Dimensionen
Fügen Sie Tags hinzu, um einen Counter nach Dimensionen wie Status oder Region aufzuteilen. So können Sie ihn in Ihrem Backend aggregieren und filtern.
OrdersPlaced.Add(1,
new KeyValuePair<string, object>("status", "completed"),
new KeyValuePair<string, object>("region", "eu"));Histograms
Ein Histogram erfasst eine Werteverteilung und eignet sich ideal für Latenzen oder Payload-Größen. Backends berechnen aus den aufgezeichneten Stichproben Perzentile (p50, p95, p99).
private static readonly Histogram<double> OrderDuration =
Meter.CreateHistogram<double>("order.duration", "ms");
OrderDuration.Record(elapsedMs);UpDownCounters
Ein UpDownCounter kann steigen und fallen und eignet sich für Werte wie aktive Verbindungen oder aktuell in einer Queue befindliche Elemente.
private static readonly UpDownCounter<long> ActiveOrders =
Meter.CreateUpDownCounter<long>("orders.active");
ActiveOrders.Add(1); // started
ActiveOrders.Add(-1); // finishedObservable-Instrumente
Observable-Instrumente werden bei Bedarf über einen Callback ausgelesen. Sie eignen sich für Messgrößen wie den aktuellen Speicher- oder Cacheumfang, die Sie erfassen statt inkrementieren.
Meter.CreateObservableGauge("cache.size",
() => _cache.Count);Das Meter registrieren
Wie beim Tracing erfasst OTel nur Meter, die Sie registrieren. Verwenden Sie AddMeter mit dem Namen Ihres Meters.
builder.Services.AddOpenTelemetry()
.WithMetrics(metrics => metrics
.AddMeter("Checkout.Orders"));Integrierte Metriken
Instrumentierungspakete stellen fertige Metriken für ASP.NET Core (Anfragedauer, aktive Anfragen) und die Laufzeit (GC, Threadpool) bereit und ermöglichen sofortige operative Einblicke.
metrics
.AddAspNetCoreInstrumentation()
.AddRuntimeInstrumentation();Das richtige Instrument auswählen
Wählen Sie das Instrument nach seinem Verhalten aus: monoton steigender Zähler (Counter), steigender und fallender Wert (UpDownCounter), Werteverteilung (Histogram) oder erfasster aktueller Wert (Observable Gauge). Mit der richtigen Wahl lassen sich Dashboards und Alarme unkompliziert erstellen.
Kardinalität im Blick behalten
Jede eindeutige Tag-Kombination erstellt eine eigene Zeitreihe. Tags mit hoher Kardinalität (etwa eine Benutzer-ID) können Speicherbedarf und Kosten drastisch erhöhen. Verwenden Sie begrenzte Dimensionen mit niedriger Kardinalität, beispielsweise Status oder Region.
Kurzer Test
Testen Sie die Erfassung von Metriken.
Zusammenfassung
Metriken aggregieren numerische Messwerte kostengünstig. Mit der Meter-API erstellen Sie Instrumente: Counter (monoton steigend), UpDownCounter (steigt und fällt), Histogram (Werteverteilungen für Perzentile) und Observable-Gauges (stichprobenartig erfasst). Tags fügen Dimensionen hinzu, aber achten Sie auf die Kardinalität. Registrieren Sie Meter mit AddMeter und fügen Sie die integrierte Instrumentierung für ASP.NET Core und die Laufzeit hinzu, um sofortige Einblicke zu erhalten.
Häufig gestellte Fragen
Ist die Lektion „Metriken erfassen“ kostenlos?
Ja — der vollständige Text von „Metriken erfassen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Metriken erfassen“?
Erfassen Sie Counter, Gauges und Histogramme. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Metriken erfassen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.