2012-08-17 13 views
14

io mando Graphite il tempo trascorso in Garbage Collection (ottenere questo da JVM tramite JMX). Questo è un contatore che aumenta. Il loro è un modo per avere Graphite il cambiamento del grafico ogni minuto così posso vedere un grafico che mostra il tempo trascorso in GC al minuto?Grafite: spettacolo cambiamento dal valore precedente

risposta

19

Si dovrebbe essere in grado di trasformare il contatore in un hit-rate con la funzione derivata, quindi utilizzare la funzione di riassumere al contatore nel lasso di tempo che il vostro dopo.

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

derivato (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) 

Ogni volta che si esegue ifconfig, RX e TXPackets sono più alti (supponendo che non v'è traffico di rete.) Applicando la funzione derivata, è possibile ottenere un'idea dei pacchetti al minuto inviati o ricevuti, anche se stai registrando solo il totale.

riassumere (seriesList, intervalString, func = 'sum', 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. 

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

+0

posso ottenere in qualche modo al secondo valori utilizzando qualcosa di simile a quanto sopra? – gyre

+0

la domanda è come faccio se lo schema di archiviazione è impostato per memorizzare 1 punto di dati ogni diciamo 30 secondi. – gyre

+12

Inoltre, se i tuoi dati hanno valori vuoti, 'derivative()' non funzionerà molto bene senza aiuto. Si dovrebbe aggiungere 'keepLastValue', ad esempio:' derivato (keepLastValue()) ' –

Problemi correlati