0Pricing
C# Academy · Lección

Recopilación de métricas

Registre contadores, medidores e histogramas.

Recopilación de métricas es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.

¿Por qué usar métricas?

Las métricas son mediciones numéricas agregadas a lo largo del tiempo. Alimentan los paneles y las alertas: tasa de solicitudes, cantidad de errores, latencia y profundidad de la cola. A diferencia de los registros, siguen siendo económicas con grandes volúmenes porque agregan los datos.

La API Meter

.NET emite métricas mediante System.Diagnostics.Metrics. Cree un Meter y utilícelo para crear instrumentos como contadores e histogramas.

using System.Diagnostics.Metrics;

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

Contadores

Un Counter es un valor que solo aumenta, perfecto para contar eventos como pedidos realizados o errores. Llame a Add para incrementarlo.

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

OrdersPlaced.Add(1);

Dimensiones de los contadores

Añada etiquetas para dividir un contador por dimensiones, como el estado o la región, de modo que pueda agregar y filtrar los datos en su backend.

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

Histogramas

Un Histogram registra la distribución de valores, por lo que resulta ideal para la latencia o el tamaño de las cargas útiles. Los backends calculan percentiles (p50, p95 y p99) a partir de las muestras registradas.

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

OrderDuration.Record(elapsedMs);

Contadores UpDown

Un UpDownCounter puede aumentar o disminuir, por lo que es adecuado para valores como las conexiones activas o los elementos que hay actualmente en una cola.

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

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

Instrumentos observables

Los instrumentos Observable se leen bajo demanda mediante una devolución de llamada; son adecuados para indicadores como la memoria actual o el tamaño de la caché, que se muestrean en lugar de incrementarse.

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

Registrar Meter

Al igual que con el rastreo, OTel solo recopila los medidores que registra. Utilice AddMeter con el nombre de su medidor.

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

Métricas integradas

Los paquetes de instrumentación exponen métricas listas para usar de ASP.NET Core (duración de las solicitudes, solicitudes activas) y del runtime (GC, grupo de subprocesos), lo que proporciona información operativa inmediata.

metrics
    .AddAspNetCoreInstrumentation()
    .AddRuntimeInstrumentation();

Elegir el instrumento adecuado

Elija según el comportamiento: recuento monótono (Counter), valor que aumenta y disminuye (UpDownCounter), distribución (Histogram) o valor actual muestreado (Observable Gauge). La elección adecuada simplifica los paneles y las alertas.

Controle la cardinalidad

Cada combinación de etiquetas única crea una serie temporal independiente. Las etiquetas de alta cardinalidad (como el identificador de usuario) pueden disparar el almacenamiento y el coste. Utilice dimensiones acotadas y de baja cardinalidad, como el estado o la región.

Comprobación rápida

Compruebe la recopilación de métricas.

Resumen

Las métricas agregan mediciones numéricas de forma económica. La API Meter crea instrumentos: Counter (monótono), UpDownCounter (aumenta y disminuye), Histogram (distribuciones para calcular percentiles) e indicadores Observable (muestreados). Las etiquetas añaden dimensiones, pero debe vigilar la cardinalidad. Registre los medidores con AddMeter y añada la instrumentación integrada de ASP.NET Core y del runtime para obtener información inmediata.

Preguntas frecuentes

¿La lección «Recopilación de métricas» es gratis?

Sí — el texto completo de «Recopilación de métricas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Recopilación de métricas»?

Registre contadores, medidores e histogramas. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Recopilación de métricas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Los tres pilares de la observabilidad
  2. Trazabilidad distribuida
  3. Recopilación de métricas
  4. Exportación a backends
← Volver a C# Academy