Proporciones de las métricas

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Este documento te ayuda a elegir el mejor enfoque para graficar o supervisar una proporción de datos de métricas. Incluye vínculos a ejemplos, identifica cuándo puedes calcular las relaciones y describe anomalías debido al muestreo y la alineación que podrías ver cuando graficas o supervisas una proporción de datos de métricas.

Las proporciones te permiten transformar tus datos de métricas en una forma diferente y potencialmente más útil. Por ejemplo, considera un tipo de métrica que cuente la cantidad de respuestas HTTP por código de respuesta. Los datos de la métrica informan la cantidad de errores, pero no la proporción de solicitudes que fallaron. Sin embargo, los requisitos de rendimiento a menudo se especifican como un porcentaje, como "La tasa de error debe ser inferior al 0.1%". Para determinar la tasa de error mediante los datos de métricas, calcula la proporción entre las solicitudes que fallaron y la cantidad total de solicitudes.

Prácticas recomendadas

Para graficar o supervisar una proporción de datos de métrica, te recomendamos que uses el lenguaje de consulta de Monitoring (MQL). Puedes usar MQL con la API de Cloud Monitoring y con Google Cloud Console. Google Cloud Console incluye un Editor de consultas que proporciona sugerencias, detección de errores y otras opciones de asistencia para crear consultas de MQL válidas. Para obtener más información y ejemplos, consulta los siguientes documentos:

Para graficar una proporción de datos de métricas cuando no estás familiarizado con MQL, te recomendamos que uses Google Cloud Console y una interfaz basada en menús. Por ejemplo, puedes abrir el Explorador de métricas y seleccionar la pestaña Configuración. En esta pestaña, representarás dos métricas y, luego, seleccionarás un botón para convertir la pantalla en una proporción. Al igual que con el Explorador de métricas, cuando configuras un gráfico en un panel, la pestaña Avanzado te permite graficar una proporción de métricas. Para obtener instrucciones detalladas, consulta Gráfico de proporción de métricas y Agrega gráficos a un panel.

Para crear una política de alertas que supervise una proporción de métricas cuando no estés familiarizado con MQL, usa la API de Cloud Monitoring y, luego, incluye un filtro de series temporales. Para ver un ejemplo, consulta Proporción de métricas.

Restricciones con proporciones

Cuando configuras una proporción, se aplican las siguientes restricciones:

  • Después de la agregación, las etiquetas de la serie temporal del denominador deben ser las mismas que las de la serie temporal del numerador.

    Te recomendamos que selecciones las opciones de agregación, de modo que después de la agregación, el numerador y las series temporales del denominador tengan las mismas etiquetas.

    Considera una configuración en la que la serie temporal del numerador tiene etiquetas method, quota_metric y project_id. Las series temporales del denominador tienen las etiquetas limit_name, quota_metric y project_id. Las opciones válidas para la agrupación de denominadores dependen de las selecciones del numerador:

    • Numerador agrupado por la etiqueta method: Combina las series temporales del denominador en una sola serie temporal. Ninguna otra agrupación da como resultado que las etiquetas para la serie temporal del denominador sean un subconjunto de las etiquetas de la serie temporal del numerador.
    • Numerador agrupado por la etiqueta quota_metric: agrupa el denominador por esa etiqueta o combina todas las series temporales en el denominador en una sola serie temporal.
    • Numerador agrupado por las etiquetas quota_metric y project_id: agrupa el denominador por ambas etiquetas por una etiqueta o combina las series temporales del denominador en una sola serie temporal.

    Las opciones de agregación de denominador válidas siempre eliminan la etiqueta limit_name de las series temporales agrupadas porque esa etiqueta no está presente en las series temporales de numerador.

    Para ver ejemplos, consulta Ejemplos de políticas de alertas de MQL.

  • El período de alineación debe ser el mismo para el numerador y el denominador cuando se configura un gráfico con Google Cloud Console. Sin embargo, estos campos pueden ser diferentes cuando se usa la API de Cloud Monitoring.

    Te recomendamos que uses el mismo período de alineación para el numerador y el denominador, independientemente de la herramienta que uses para crear el gráfico.

  • El numerador y el denominador deben tener el mismo tipo de valor. Por ejemplo, cuando el numerador es de tipo DOUBLE, el denominador también debe ser de tipo DOUBLE.

    Las proporciones requieren que la métrica del numerador y el denominador tengan un tipo de valor de DOUBLE o INT64.

  • Las series temporales alineadas para el numerador y el denominador deben tener el mismo tipo de métrica. Cuando las dos métricas tienen categorías diferentes, debes usar alineadores para convertirlas en el mismo tipo.

    Considera una configuración en la que se selecciona una métrica DELTA para el numerador y una métrica GAUGE para el denominador. En esta situación, usa el alineador de frecuencia, ALIGN_RATE, para convertir la métrica DELTA en una métrica GAUGE. Si deseas ver un ejemplo, consulta Alerta de proporción sobre el uso de la cuota de tarifa para un límite.

  • Para las relaciones que no se definen con MQL, el tipo de recurso supervisado debe ser el mismo para el numerador y el denominador.

    Por ejemplo, si el recurso para la métrica del numerador son instancias de Compute Engine, el recurso para la métrica del denominador también debe ser instancias de Compute Engine.

Anomalías debido a discrepancias de muestreo y alineación

En general, es mejor calcular las proporciones según las series temporales recopiladas para un solo tipo de métrica mediante el uso de valores de etiquetas. Una proporción calculada en dos tipos de métricas diferentes está sujeta a anomalías debido a diferentes períodos de muestreo y ventanas de alineación.

Por ejemplo, supongamos que tienes dos tipos de métricas, un recuento total de RPC y un recuento de errores de RPC, y deseas calcular la proporción de las RPC del recuento de errores sobre el total de RPC. Las RPC fallidas se cuentan en la serie temporal de ambos tipos de métricas. Por lo tanto, existe la posibilidad de que, cuando alinees la serie temporal, una RPC incorrecta no aparezca en el mismo intervalo de alineación para ambas series temporales. Esta diferencia puede ocurrir por varias razones, incluidas las siguientes:

  • Debido a que hay dos series temporales diferentes que registran el mismo evento, hay dos valores de contador subyacentes que implementan la colección y no se actualizan de forma atómica.
  • Las tasas de muestreo pueden variar. Cuando las series temporales están alineadas con un período común, los recuentos de un solo evento pueden aparecer en intervalos de alineación adyacentes en las series temporales para las diferentes métricas.

La diferencia en la cantidad de valores en los intervalos de alineación correspondientes puede generar valores de proporción error/total sin sentido, como 1/0 o 2/1.

Las proporciones de números más grandes tienen menos probabilidades de generar valores sin sentido. Puedes obtener números más grandes por agregación, ya sea usando una ventana de alineación que sea más larga que el período de muestreo o agrupando datos para ciertas etiquetas. Estas técnicas minimizan el efecto de pequeñas diferencias en la cantidad de puntos en un intervalo determinado. Es decir, una disparidad de dos puntos es más significativa cuando la cantidad esperada de puntos en un intervalo es 3 que cuando la cantidad esperada es 300.

Si usas tipos de métricas integradas, es posible que no tengas más opción que calcular las proporciones entre los tipos de métricas para obtener el valor que necesitas.

Si diseñas métricas personalizadas que pueden contar lo mismo, como las RPC que muestran el estado del error, en dos métricas diferentes, considera una sola métrica, que incluye cada recuento solo una vez. Por ejemplo, supongamos que estás contando RPC y deseas realizar un seguimiento de la proporción entre las RPC fallidas y todas las RPC. A fin de solucionar este problema, crea un solo tipo de métrica para contar las RPC y usa una etiqueta a fin de registrar el estado de la invocación, incluido el estado "OK". Luego, cada valor de estado, error o “OK” se registra mediante la actualización de un solo contador para ese caso.

¿Qué sigue?