2012-08-17 9 views
14

Wysyłam grafitowi czas spędzony w Garbage Collection (pobierając go z jvm przez jmx). To jest licznik, który rośnie. Czy ich sposób graficznego wykresu zmienia się co minutę, więc widzę wykres przedstawiający czas spędzony w GC na minutę?Grafit: pokaż zmianę z poprzedniej wartości

Odpowiedz

19

Powinieneś być w stanie zmienić licznik na wartość trafień za pomocą funkcji Pochodna, a następnie użyć funkcji podsumowania do licznika w ramce czasowej, która jest późniejsza.

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

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

każdym uruchomieniu ifconfig, RX i TXPackets są wyższe (zakładając, że jest ruch w sieci). Dzięki zastosowaniu funkcji pochodnych, można uzyskać pomysł wysłanych lub odebranych pakietów na minutę, nawet jeśli nagrywasz tylko sumę.

Podsumuj (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. 

Źródło: http://graphite.readthedocs.org/en/0.9.10/functions.html

+0

mogę jakoś na sekundę wartości przy użyciu coś jak wyżej? – gyre

+0

Pytanie brzmi: jak to zrobić, jeśli schemat przechowywania jest ustawiony na przechowywanie 1 punktu danych, powiedzmy, 30 sekund. – gyre

+12

Ponadto, jeśli twoje dane mają puste wartości, 'derivative()' nie zadziała zbyt dobrze bez pomocy. Powinieneś dodać 'keepLastValue', np .:' derivative (keepLastValue()) ' –

Powiązane problemy