2012-08-17 11 views
14

Envío a Graphite el tiempo pasado en Garbage Collection (obteniendo esto de jvm a través de jmx). Este es un contador que aumenta. ¿Es una forma de tener Graphite graph el cambio cada minuto para que pueda ver un gráfico que muestra el tiempo pasado en GC por minuto?Grafito: muestra el cambio del valor anterior

Respuesta

19

Debería poder convertir el contador en una tasa de acierto con la función Derivada, luego usar la función de resumen en el contador en el marco de tiempo que su después.

&target=summarize(derivative(java.gc_time), "1min") # time spent per minute 

derivado (seriesList)

This is the opposite of the integral function. This is useful for taking a 
running totalmetric and showing how many requests per minute were handled. 

&target=derivative(company.server.application01.ifconfig.TXPackets) 

Cada vez que se ejecuta ifconfig, el RX y TXPackets son más altos (suponiendo que no hay tráfico de la red.) Mediante la aplicación de la función derivada, se puede obtener una idea de los paquetes por minuto enviados o recibidos, aunque solo esté registrando el total.

Resumir (seriesList, intervalString, func = 'suma', alignToFrom = False)

Summarize the data into interval buckets of a certain size. 
By default, the contents of each interval bucket are summed together. 
This is useful for counters where each increment represents a discrete event and 
retrieving a “per X” value requires summing all the events in that interval. 

Fuente: http://graphite.readthedocs.org/en/0.9.10/functions.html

+0

¿hay algún modo conseguir por segundo valores usando algo como lo anterior? – gyre

+0

la pregunta es ¿cómo lo hago si el esquema de almacenamiento está configurado para almacenar 1 punto de datos cada, digamos, 30 segundos? – gyre

+12

Además, si sus datos tienen valores vacíos, 'derivative()' no funcionará muy bien sin ayuda. Debería agregar 'keepLastValue', por ejemplo:' derivative (keepLastValue()) ' –

Cuestiones relacionadas