2016-03-30 33 views
0

Ich verwende die dropwizard codahale metrics-Bibliothek, um die Metrikdaten an den Graphite-Server zu senden. Allerdings habe ich jetzt eine Anforderung, dass diese Metrikdaten in eine Datei geschrieben werden sollen, anstatt auf den Graphite-Server zu übertragen. Die Daten in diesen Dateien können später bei Bedarf auf den Graphite-Server übertragen werden.Lassen Sie sich die Messwerte in einer Datei anzeigen, anstatt sie an den Graphite-Server zu senden

Gibt es eine Möglichkeit, dies zu erreichen? Insbesondere der Teil, in dem die Metriken in eine Zwischendatei geschrieben werden sollen und nicht in einem solchen Format an den Server gesendet werden, dass sie bei Bedarf auf den Graphite-Server übertragen werden können?

Antwort

1

ja - da ist. Codhale kommt mit einer Klasse namens CsvReporter aus der Box. Dieser sammelt Ihre Messwerte und schreibt sie im csv-Format auf die Festplatte.

Werfen Sie einen Blick hier:

 File file = new File(expandPath(conf.getMetricCsvLocation())); 
     if(!file.exists()) { 
      log.warn("CSV Metrics location does not exist. Metrics will not be written. Change the file location to an existing location."); 
      return; 
     } 
     reporter = CsvReporter.forRegistry(env.metrics()).build(file); 
: https://dropwizard.github.io/metrics/3.1.0/apidocs/com/codahale/metrics/CsvReporter.html

Sie es so initialisieren kann