Cada consulta de métricas se agrega de forma inherente. Sin embargo, si añades la función .rollup()
al final de una consulta, podrás realizar una agregación temporal personalizada que anule los valores predeterminados. Esta función te permite definir:
Para aplicar un rollup, dirígete al botón Add function (Añadir función, Σ) del editor de gráficas:
Nota: El tipo de métrica de distribución no tiene un parámetro aggregator
de rollup. Este tipo de métrica se agrega tanto en el tiempo como en el espacio. Consulta la documentación sobre rollup para distribuciones con percentiles a fin de obtener más información.
La función toma dos parámetros, <AGGREGATOR>
y, de manera opcional, <INTERVAL>
: .rollup(<AGGREGATOR>,<INTERVAL>)
o .rollup(<AGGREGATOR>)
.
Parámetro | Descripción |
---|
<AGGREGATOR> | Puede ser avg , sum , min , max o count , y define cómo se agregan los puntos de datos en un intervalo de tiempo determinado. Valor predeterminado forzado: avg . |
<INTERVAL> | Tiempo (en segundos) del intervalo entre dos puntos de datos mostrados. Es opcional. |
Puedes utilizarlos de manera individual o juntos, por ejemplo .rollup(sum,120)
. En la siguiente gráfica de barras se muestra el uso de la CPU durante una semana para un host sin utilizar la función .rollup()
:
En la siguiente gráfica de barras se muestra la misma métrica, representada mediante un rollup de un día con .rollup(avg,86400)
:
Rollup en movimiento
Función | Descripción | Ejemplo |
---|
moving_rollup | Rollup para combinar los puntos en los últimos X segundos. | moving_rollup(<METRIC_NAME>, <INTERVAL> , <AGGREGATOR>) |
La aplicación de la función moving_rollup()
a una consulta permite combinar puntos del intervalo de tiempo especificado más reciente, es decir, los últimos X segundos. Al igual que con .rollup()
, <AGGREGATOR>
puede ser sum
/min
/max
/count
/avg
y define cómo se agregan los puntos de datos en el intervalo de tiempo determinado.
Intervalo de rollup: obligatorio frente a personalizado
Al crear gráficas, Datadog establece un límite en la cantidad de puntos por serie temporal. Para mantener la claridad visual, una serie puede tener hasta 1500 puntos. Para respetar este límite, Datadog acumula los puntos de datos de manera automática, por defecto con el método avg
, mostrando de manera efectiva el promedio de todos los puntos de datos en un intervalo de tiempo de una métrica determinada. El intervalo de tiempo de rollup predeterminado varía en función de cómo se visualizan los datos. Consulta el siguiente gráfico para obtener una referencia de estos intervalos de tiempo predeterminados:
Período de tiempo | Intervalo de rollup, gráfica de líneas | Intervalo de rollup, gráfica de barras | Intervalo de rollup, API |
---|
La última hora | 20 s | 1 m | 20 s |
Las últimas cuatro horas | 1 m | 2 m | 1 m |
El último día | 5 m | 20 m | 5 m |
Los últimos dos días | 10 m | 30 m | 10 m |
La última semana | 1 hora | 2 horas | 1 hora |
El último mes | 4 horas | 12 horas | 4 horas |
Se puede utilizar una función .rollup()
personalizada para forzar el tipo de agregación temporal aplicado (avg
, min
, max
, count
o sum
) y, de manera opcional, el intervalo de tiempo para realizar el rollup. Con esta función, se puede establecer el intervalo de tiempo de rollup en un valor diferente al predeterminado, hasta un límite de 1500 puntos. Esto admite hasta un punto por minuto a lo largo de un día.
Nota: A las consultas de métricas de tipo COUNT
y RATE
se les agrega de manera automática el modificador .as_count()
en la interfaz de usuario, que establece el método de rollup que se utiliza en sum
y deshabilita la interpolación. Este .as_count()
es explícitamente visible al final de la consulta:
Para obtener más detalles sobre cómo utilizar .as_count()
y .as_rate()
, consulta la entrada del blog Visualizar métricas de StatsD, o conoce más sobre los efectos de esas funciones con la documentación sobre los modificadores en la aplicación.
Rollup con consultas alineadas con el calendario
Puedes personalizar cómo se agrupan los datos de tus métricas a lo largo del tiempo cuando se utiliza la función .rollup()
con consultas alineadas con el calendario. Esta característica te ofrece la flexibilidad de definir:
- Consultas mensuales alineadas con el calendario con fecha de inicio y zonas horarias ajustables. Por ejemplo, puedes comparar los errores mensuales de tus clientes de febrero y diciembre del año pasado.
- Rollups semanales con fecha de inicio y zonas horarias ajustables. Por ejemplo, conoce cuántas transacciones semanales se encuentran abiertas (si tu semana comienza los lunes).
- Rollups diarios con hora de inicio y zonas horarias ajustables. Por ejemplo, conoce cuántos eventos de interés se produjeron en el día actual (si tu día comienza a medianoche, hora del Pacífico).
Rollups en monitores
Por lo general, se deben evitar los rollups en las consultas de monitor, debido a la posibilidad de desalineación entre el intervalo de rollup y el período de evaluación del monitor. El inicio y el final de los intervalos de rollup se encuentran alineados con la hora UNIX, no con el inicio y el final de las consultas del monitor. Por lo tanto, un monitor puede evaluar (y activar) un intervalo de rollup incompleto que contenga solo una pequeña muestra de datos. Para evitar este problema, retrasa la evaluación del monitor (al menos) durante el intervalo de rollup de la configuración.
Otras funciones
Consulta las demás funciones disponibles: