So habe ich eine Spring Boot-Anwendung mit Spring-Boot-Aktor. Durch die Definition der Eigenschaft spring.metrics.export.statsd.host
wird automatisch eine StatsdMetricWriter
instanziiert, und für Zähler und Messgeräte funktioniert alles einwandfrei.Was ist der optimale Weg Spring-Boot mit StatsD zu verbinden, besonders für Timer?
Für timers sind die Dinge jedoch ein bisschen peinlich. Für Java8 erstellt Spring Boot automatisch eine BufferGaugeService
-Instanz - was dazu führt, dass Timer-Werte im Grunde wie ein Messgerät berichtet werden: der letzte Wert alle 5s (oder was auch immer es ist, könnte man es auch konfigurieren). Dies macht Timer-Metriken grundsätzlich unbrauchbar, da all die wunderbaren Dinge, die StatsD damit macht, verzerrt sind.
Jetzt könnte man wieder auf die Verwendung des Pre-Java8-Standards DefaultGaugeService
zurückgreifen, aber dann wieder, für Zähler ist die BufferCounterService
einfach in Ordnung. Blick auf MetricRepositoryAutoConfiguration
, dies manuell einrichten scheint nicht trivial und spröde in Bezug auf zukünftige Updates.
Haben Sie Ratschläge, wie Sie vorgehen sollen? Oder gibt es einen Blaupause, der etwas Inspiration bietet?
Aktuelle Situation beiseite: Gibt es Pläne, mit einer BufferTimerService
oder einer TimerService
in erster Linie zu kommen?
Sie verwenden DropWizard mit StatsD? – skirsch
Sorry, ich verstehe nicht, wie das mit StatsD zusammenhängt ... – skirsch