2017-02-05 3 views
1

d'une manière ou d'une autre je n'attrape pas le contenu de métriques d'intégration de printemps. Qu'est-ce que je veux avoir une sortie statistique sur, combien de messages/seconde passe par un canal de message, ce qui est le débit min et le débit max. Si j'utilise newTicketChannel.getSendRate(), alors je deviens sortie suivante:Spring Integration Metrics Statistiques métriques

enter image description here

Ce qui est clair pour moi N (nombre de messages). Moyenne pour moi est le nombre de messages qui ont progressé chaque seconde (?). Mais ce qui me manque totalement, ce sont les valeurs min et max. J'ai besoin de quelque chose comme, min = 200, max = 380 => signifie 200 était le taux le plus bas pour la dernière minute, max 380 la dernière minute, ou quelque chose comme ça.

Comment est la bonne façon de faire? Merci d'avance. :-)

Répondre

3

Les min et max sont depuis la dernière reset(); Si vous ne réinitialisez pas, ils représentent le min/max depuis le démarrage de l'application.

La moyenne est une moyenne mobile exponentielle dans le temps et un certain nombre de messages.

Documentation here.

Vous devrez périodiquement reset() le MessageChannelMetrics pour obtenir un nouveau min/max.

+0

Merci pour vous relecture rapide. Quand vous dites 'min' et' max' restent les mêmes depuis le début de l'application, pourquoi les valeurs sont-elles différentes de temps en temps. Et une autre question pour moi, comment cela peut-il être 'max' <' mean'? La documentation que j'ai trouvée déjà, mais d'une manière ou d'une autre, elle n'a pas répondu à mes questions. –

+0

J'ai fait maintenant un planificateur ce qui réinitialise les statistiques fréquemment, cela a fonctionné pour moi. Je vous remercie . :-) test –

+0

Mais les sorties 'getSendRate(). GetMin()' et 'getSendRate(). GetMax()' je ne comprends vraiment pas, si la moyenne est par exemple. 300, comment peut être max 0,02 par exemple? Je reçois ces valeurs avec la réinitialisation, aussi.Jusqu'à présent, je ne reçois que des valeurs méchantes avec mon calcul décrit dans ma réponse –

0

En attendant d'obtenir les résultats que je veux, je ne suit:

Wanted a été

  1. Messages/Deuxième
  2. Messages Max/Deuxième
  3. Messages Min/Deuxième

Solutions:

  1. 1/newTicketChannel.getSendDuration().getMean() * 1000
  2. 1/newTicketChannel.getSendDuration().getMin() * 1000
  3. 1/newTicketChannel.getSendDuration().getMax() * 1000

S'il y a des fonctionnalités communes dans les mesures d'intégration de printemps pour obtenir même résultat, s'il vous plaît ne pas hésiter de me dire. Il serait cool que quelqu'un fournisse des informations sur la moyenne des valeurs que j'ai affichées dans ma question.

Merci et cris de joie :-)