En este documento, se describe cómo puedes interpretar y crear un gráfico que muestre datos de métricas del tipo de valor Distribution
.
Los servicios usan este tipo de valor cuando las mediciones individuales son demasiadas para recopilar, pero la información estadística, como promedios o percentiles, sobre esas mediciones es valiosa.
Por ejemplo, cuando una aplicación se basa en el tráfico HTTP, puedes usar un
Es una métrica con valor de distribución que captura la latencia de respuesta HTTP para evaluar.
la rapidez con la que se completan las solicitudes HTTP.
Para ilustrar cómo se crea un histograma, considera un servicio que mide la latencia HTTP de las solicitudes y que informa estos datos mediante una métrica con un tipo de valor de distribución. Los datos se informan cada minuto. El servicio define rangos de valores para la métrica, llamados depósitos, y registra el recuento de valores medidos que corresponden a cada depósito. Por ejemplo, cuando se completa una solicitud HTTP, el servicio incrementa el recuento en el bucket cuyo rango incluye el valor de latencia de la solicitud. Estos recuentos crean un histograma de valores para ese minuto.
Supongamos que las latencias medidas en un intervalo de un minuto son 5, 1, 3, 5, 6, 10 y 14. Si los depósitos son [0, 4], [4, 8), [8, 12) y [12, 16), el histograma de estos datos es [2, 3, 1, 1]. En la siguiente tabla, se muestra cómo las mediciones individuales afectan el recuento para cada bucket:
Bucket | Mediciones de latencia | Cantidad de valores en el bucket |
---|---|---|
[12,16). | 14 | 1 |
[8,12) | 10 | 1 |
[4,8) | 5, 5, 6 | 3 |
[0,4) | 1, 3 | 2 |
Cuando estos datos se escriben en la serie temporal, se crea un objeto Point
. Para las métricas con un valor de distribución, ese objeto incluye el histograma de valores. Para este período de muestreo, el Point
contiene [2, 3, 1, 1]. Las mediciones individuales no se escriben en la serie temporal.
Supongamos que la tabla anterior registra el histograma de los datos de latencia como medido a la 1:00. En esa tabla, se muestra cómo tomar una serie de medidas y convertirlas en recuentos de buckets. Supongamos que el bucket recuentos en los tiempos 1:01, 1:02 y 1:03 son como se muestra en la siguiente tabla:
Bucket | Histograma para 1:00 |
Histograma para 1:01 |
Histograma para 1:02 |
Histograma para 1:03 |
---|---|---|---|---|
[12,16) | 1 | 6 | 0 | 1 |
[8,12) | 1 | 0 | 2 | 2 |
[4,8) | 3 | 1 | 1 | 8 |
[0,4) | 2 | 6 | 10 | 3 |
En la tabla anterior, se muestra una secuencia de histogramas indexados por tiempo. Cada columna de la tabla representa los datos de latencia para un período de un minuto. Para obtener la cantidad de mediciones en un momento específico, suma los recuentos de bucket. Sin embargo, las mediciones reales no se muestran, ya que no están disponibles en las métricas de valor de distribución.
Gráficos de mapas de calor
Los gráficos de mapas de calor están diseñados para mostrar una sola serie temporal con valores de distribución. En estos gráficos, el eje X representa el tiempo, el eje Y representa los depósitos y el color representa el valor. Cuanto más brillantes son los colores, más alto es el valor. Por ejemplo, las áreas oscuras del mapa de calor indican recuentos de depósitos más bajos que las áreas amarillas o blancas.
La siguiente figura es una representación de un mapa de calor para ilustrar el ejemplo anterior:
En la figura anterior, el mapa de calor usa negro para representar el conteo de depósitos más pequeño, 0, y amarillo para representar el recuento de depósitos más grande, 10. Los rojos y naranjas representan valores entre estos dos extremos.
Como los gráficos de mapas de calor pueden mostrar solo una serie temporal, debes establecer la aggregation para combinar todas las series temporales.
Para usar el Explorador de métricas y mostrar la suma de las latencias de RTT de una instancia de VM, haz lo siguiente:-
En la consola de Google Cloud, ve a la página leaderboardExplorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En el elemento Métrica, expande el menú Seleccionar una métrica,
ingresa
RTT latencies
en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:- En el menú Recursos activos, selecciona Instancia de VM.
- En el menú Categorías de métricas activas, selecciona Vm_flow.
- En el menú Métricas activas, selecciona Latencias de RTT.
- Haz clic en Aplicar.
En el ejemplo anterior, se configura el gráfico de mapa de calor seleccionando valores de los menús. Sin embargo, también puedes usar el lenguaje de consulta de Monitoring (MQL) para graficar métricas con valores de distribución. Para ingresar una consulta de MQL, haz lo siguiente:
- En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea codeMQL o codeMQL.
- Verifica que MQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
- Ingresa una consulta y, luego, ejecútala.
Por ejemplo, ingresa lo siguiente en el editor de código:
fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [aggregate(value.rtt)]
En la expresión anterior, los datos de las series temporales se recuperan, alinean y, luego,
agrupadas. El proceso de alineación usa una función de alineación delta
con un período de alineación de un minuto. Como el primer argumento de group_by
es []
, se combinan todas las series temporales.
El segundo argumento, [aggregate(value.rtt)]
, define cómo se combinan las series temporales. En este ejemplo, para cada marca de tiempo, los valores del campo rtt
de las diferentes series temporales se combinan con la función aggregate
, que selecciona MQL.
Si usas menús para seleccionar la métrica y, luego, cambias a MQL, tus selecciones se convierten en una consulta de MQL que está en formato estricto:
fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [value_rtt_aggregate: aggregate(value.rtt)]
La expresión anterior es funcionalmente equivalente a la original. Ejemplo de MQL.
Para obtener más información sobre MQL, consulta Descripción general del lenguaje de consulta de Monitoring.
Gráficos de barras y líneas
Los gráficos de líneas, los gráficos de barras apiladas y los gráficos de líneas apiladas, que están diseñados para mostrar datos escalares, no se puede mostrar de distribución. Mostrar una métrica con un valor de distribución con uno de estos tipos de gráficos, debes convertir los valores del histograma en valores escalares. Por ejemplo, puedes establecer las opciones de agregación para calcular la media de la en el histograma o para calcular un percentil.
Para obtener información sobre cómo mostrar una métrica con valor de distribución en un gráfico de líneas, consulta la siguiente sección.
Métricas de agregado y distribución
El agregado es el proceso de regularizar puntos dentro de una serie temporal y de combinar varias series temporales. El agregado es el mismo para las métricas del tipo de distribución que para las métricas que tienen un tipo de valor de número entero o doble. Sin embargo, el tipo de gráfico aplica algunos requisitos sobre las opciones que se usan para alinear y agrupar series temporales.
Gráficos de mapas de calor
Los gráficos de mapa de calor muestran una serie temporal con un valor de distribución. Por lo tanto, el función de alineación y función de agrupación se debe configurar para crear una única serie temporal.
Selecciona una función de alineación sum
o delta
cuando un gráfico muestre un mapa de calor.
Estas funciones combinan a nivel del bucket todas las muestras para una sola serie temporal que se encuentran en el mismo período de alineación y el resultado es un valor de distribución. Por ejemplo, si dos muestras adyacentes de un
series temporales son [2, 3, 1, 1] y [2, 5, 4, 1] y, luego, la alineación de la suma
la función produce [4, 8, 5, 2].
La función de agrupación define cómo se combinan las diferentes series temporales. A veces, esta función se denomina agregador o reductor.
Para mapas de calor, establece la función de agrupación en la función sum
.
La función sum suma los valores de los mismos buckets en todos los histogramas, lo que genera un histograma nuevo. Por ejemplo, el
la suma del valor [2, 3, 1, 1] de la serie temporal A y el valor
[1, 5, 2, 2] de la serie temporal-B es [3, 8, 3, 3].
Gráficos de líneas
Los gráficos de líneas solo muestran series temporales con valores escalares. Si seleccionas un con valor de distribución, el gráfico se configura con parámetros para mostrar un mapa de calor. Los campos del elemento Aggregation (Agregación) se configuran en Distribución y Ninguna.
La interpretación de la Distribución depende de la métrica específica. Para los tipos de métrica con valores de distribución que tienen un tipo de métrica
GAUGE
, la función de alineación predeterminada se establece ensum
. Cuando un tipo de métrica con valor de distribución tiene un tipo de métricaCUMULATIVE
, la función de alineación predeterminada esDELTA
.La configuración de None garantiza que se combinen todos los horarios.
Si deseas mostrar una métrica con valor de distribución en un gráfico de líneas, debes cambiar la configuración predeterminada del gráfico. Por ejemplo, para configurar un gráfico de líneas en un panel para que muestre el número 99 percentil de cada serie temporal de una métrica con valor de distribución haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas, haz clic en add Agregar widget.
- En el diálogo Agregar widget, selecciona leaderboard Métrica.
- En el elemento Métrica, selecciona el Instancia de VM: latencias de RTT.
- En el elemento Aggregation, expande el primer menú y selecciona Percentil 99.
- En el panel Mostrar, establece el valor del menú Tipo de widget en Gráfico de líneas.
- Opcional: En el elemento Aggregation, expande el segundo menú y selecciona las etiquetas que se usan para agrupar las series temporales. De forma predeterminada, no se seleccionan etiquetas y, por lo tanto, se muestra una línea en el gráfico.
¿Qué sigue?
Para obtener información sobre cómo determinar el modelo de bucket de una métrica y cómo interpretar los percentiles, consulta Percentiles y métricas con valores de distribución.