2017-03-07 2 views
0

J'utilise Graphite avec Codahale pour enregistrer les métriques de mon serveur Java. J'ai un code de bloc qui ressemble à quelque chose comme ça:Les métriques en graphite montrent des résultats erronés

public void foo() { 
    try (Timer.Context ignored = myTimer.start()) { 
    // Some code 
    } 
} 

Quand je regarde le nombre d'événements d'aujourd'hui (chaque minuterie est également un compteur) Je vois que nous sommes autour de la centaine de succès compte une minute, ce qui signifie quelques milliers par heure. Quand j'ouvre la plage de dates pour inclure hier aussi, je vois que les résultats sont dans la gamme des millions et je ne pouvais pas comprendre pourquoi.

Les résultats sont présentés après l'opération nonNegativeDerivative sur la métrique

résultats d'aujourd'hui:

Today

Avec les résultats d'hier:

enter image description here

+0

Les graphes ci-dessus ne ressemblent pas à des graphiques en sens inverse. Les compteurs augmentent généralement de façon monotone et vous devez appliquer la fonction nonNegativeDerivative() dans Graphite pour obtenir un nombre exact d'appels par minute (selon votre intervalle métrique). – deniszh

+0

Vous avez raison, c'est après avoir appliqué nonNegatvieDerivative(). Modification – Avi

+0

Ensuite, je soupçonne quel est votre problème. Vous devez appliquer la somme des dérivés (** sumSeries (nonNegativeDerivative (...)) **) et non des dérivées de sommes - http://www.jilles.net/perma/2013/08/22/how- to-do-graphite-derivatives-correctement / – deniszh

Répondre