2016-11-25 7 views
2

Wir verarbeiten Nachrichten, die in regelmäßigen Abständen eingehen. Wir verwenden Codadale Dropwizard Metriken '"Timer" für die Messung der Zeit, die sie benötigt, um sie zu verarbeiten.Wie kann ich den Timer der Dropwizard-Messwerte zurücksetzen?

Ich fand jemand das gleiche Problem hatte here. „Problem mit Reservoir exponentiell abfallende ist, dass, wenn keine neuen Daten in kommt, ist es auf, der dieselben Zahlen alle Zeiten halten Nehmen wir zum Beispiel sagen, dass Sie einen Timer aktualisieren mit 5 und 7 (dann setze überhaupt nichts), dann egal wann du siehst (selbst nach x Stunden), der Timer zeigt immer noch den Durchschnittswert von 6 an, was nicht repräsentativ für die letzten 5 Minuten ist. also funktioniert es nur, wenn die Daten die ganze Zeit ankommen. "

Wie Sie mit der dunkelblauen Linie sehen: enter image description here

Aber es gibt keinen Hinweis darauf, es zu lösen. Und sie sagen, dass es nicht implementiert wird: https://github.com/dropwizard/metrics/issues/399

Wie kann ich diese Timer richtig zurücksetzen oder wie soll ich es visualisieren, damit es nicht verwirrend ist?

Antwort

4
Note: It is too long for comment. 

verwenden, um die SlidingTimeWindowReservoir Verwendung werden die meisten der Anwendungsfälle abdecken. Aber wie es in this comment wies darauf hin, könnte ein Problem auf der Anzahl von Ereignissen abhängig sein: es im Speicher, alle Messungen in dem Fenster hält die

auf große Anzahl von Ereignissen

unzumutbar Könnten wir besser machen? Lass uns weiter suchen. Wenn wir Glück haben, finden wir this blog post. Es beschreibt genau Ihre Art von Problem. Es gibt einen Link zu ihrer einfachen schmutzigen Lösung. Auch ein Vorschlag für die Verwendung von .

Auch auf der metrics mailing list gibt es mehrere Nachrichten über genau dieses Problem. Für example und zeigen Sie auf Marshall Pierce/hdrhistogram-metrics-reservoir. Was ist HdrHistogram und warum verwenden Sie es, um Latenzen zu messen, überprüfen Sie die Projektbeschreibung.

Und schließlich nach einigem Graben könnte man auch vladimir-bukhtoyarov/metrics-core-hdr Projekt finden. Es verwendet HdrHistogram auch.

Es gibt also zwei ähnliche Bibliotheken, die dieselbe Datenstruktur verwenden und behaupten, den von Ihnen getroffenen Problemfall zu lösen.

+0

Ihre Antwort ist viel detaillierter als meine :) –

0

Ich habe gerade einen Schnelltest mit hdrhistogram-metrics-reservoir durchgeführt und scheint gut zu funktionieren.

Jetzt frage ich mich, warum dies nicht in der offiziellen Version von Dopwizard enthalten ist? Irgendwelche Gedanken?

Verwandte Themen