0Pricing
C# Academy · Leçon

Collecter des métriques

Enregistrez des compteurs, des jauges et des histogrammes.

Collecter des métriques est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 4 leçons au total.

Pourquoi utiliser des métriques ?

Les métriques sont des mesures numériques agrégées au fil du temps. Elles alimentent les tableaux de bord et les alertes : débit des requêtes, nombre d’erreurs, latence, longueur de la file d’attente. Contrairement aux journaux, elles restent peu coûteuses à grande échelle, car elles sont agrégées.

L’API Meter

.NET émet des métriques par l’intermédiaire de System.Diagnostics.Metrics. Vous créez un Meter, puis vous l’utilisez pour créer des instruments tels que des compteurs et des histogrammes.

using System.Diagnostics.Metrics;

private static readonly Meter Meter = new("Checkout.Orders");

Compteurs

Un compteur est une valeur qui ne fait qu’augmenter, ce qui convient parfaitement pour compter des événements tels que des commandes passées ou des erreurs. Vous appelez Add pour l’incrémenter.

private static readonly Counter<long> OrdersPlaced =
    Meter.CreateCounter<long>("orders.placed");

OrdersPlaced.Add(1);

Dimensions des compteurs

Associez des étiquettes à un compteur pour le répartir selon une dimension, comme l’état ou la région, afin de pouvoir agréger et filtrer les données dans votre système de destination.

OrdersPlaced.Add(1,
    new KeyValuePair<string, object>("status", "completed"),
    new KeyValuePair<string, object>("region", "eu"));

Histogrammes

Un histogramme enregistre une distribution de valeurs, ce qui convient notamment à la latence ou à la taille des données utiles. Les systèmes de destination calculent les percentiles (p50, p95, p99) à partir des échantillons enregistrés.

private static readonly Histogram<double> OrderDuration =
    Meter.CreateHistogram<double>("order.duration", "ms");

OrderDuration.Record(elapsedMs);

UpDownCounters

Un UpDownCounter peut augmenter ou diminuer, ce qui convient aux valeurs telles que le nombre de connexions actives ou d’éléments actuellement présents dans une file d’attente.

private static readonly UpDownCounter<long> ActiveOrders =
    Meter.CreateUpDownCounter<long>("orders.active");

ActiveOrders.Add(1);   // started
ActiveOrders.Add(-1);  // finished

Instruments observables

Les instruments observables sont lus à la demande par l’intermédiaire d’un rappel. Ils conviennent aux jauges telles que la mémoire utilisée ou la taille actuelle du cache, que vous échantillonnez au lieu de les incrémenter.

Meter.CreateObservableGauge("cache.size",
    () => _cache.Count);

Enregistrer le Meter

Comme pour le traçage, OpenTelemetry ne collecte que les instruments de mesure que vous enregistrez. Utilisez AddMeter avec le nom de votre instrument de mesure.

builder.Services.AddOpenTelemetry()
    .WithMetrics(metrics => metrics
        .AddMeter("Checkout.Orders"));

Métriques intégrées

Les packages d’instrumentation exposent des métriques prêtes à l’emploi pour ASP.NET Core (durée des requêtes, requêtes actives) et pour l’environnement d’exécution (ramasse-miettes, pool de fils d’exécution), fournissant instantanément des informations utiles sur le fonctionnement du système.

metrics
    .AddAspNetCoreInstrumentation()
    .AddRuntimeInstrumentation();

Choisir le bon instrument

Choisissez selon le comportement : décompte monotone (compteur), valeur qui augmente et diminue (UpDownCounter), distribution (histogramme), valeur actuelle échantillonnée (jauge observable). Le bon choix simplifie les tableaux de bord et les alertes.

Maîtriser la cardinalité

Chaque combinaison d’étiquettes unique crée une série temporelle distincte. Les étiquettes à forte cardinalité (comme l’identifiant utilisateur) peuvent faire exploser le volume de stockage et les coûts. Utilisez des dimensions bornées à faible cardinalité, comme l’état ou la région.

Vérification rapide

Testez la collecte des métriques.

Récapitulatif

Les métriques agrègent à moindre coût des mesures numériques. L’API Meter crée des instruments : compteur (monotone), UpDownCounter (augmente et diminue), histogramme (distributions permettant de calculer des percentiles) et jauges observables (échantillonnées). Les étiquettes ajoutent des dimensions, mais surveillez la cardinalité. Enregistrez les instruments de mesure avec AddMeter et ajoutez l’instrumentation intégrée d’ASP.NET Core et de l’environnement d’exécution pour obtenir instantanément des informations utiles.

Questions Fréquemment Posées

La leçon « Collecter des métriques » est-elle gratuite ?

Oui — le texte complet de « Collecter des métriques » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Collecter des métriques » ?

Enregistrez des compteurs, des jauges et des histogrammes. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Collecter des métriques » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les trois piliers de l’observabilité
  2. Traçage distribué
  3. Collecter des métriques
  4. Exporter vers des systèmes principaux
← Retour à C# Academy