00001
00002
00003
00004
00005 #ifndef MEDIDA_REPORTING_CONSOLE_REPORTER_H_
00006 #define MEDIDA_REPORTING_CONSOLE_REPORTER_H_
00007
00008 #include <iostream>
00009
00010 #include "medida/metric_processor.h"
00011 #include "medida/metrics_registry.h"
00012 #include "medida/reporting/abstract_polling_reporter.h"
00013
00014 namespace medida {
00015 namespace reporting {
00016
00017 class ConsoleReporter : public AbstractPollingReporter, MetricProcessor {
00018 public:
00019 ConsoleReporter(MetricsRegistry ®istry, std::ostream& out = std::cerr);
00020 virtual ~ConsoleReporter();
00021 virtual void Run();
00022 virtual void Process(Counter& counter);
00023 virtual void Process(Meter& meter);
00024 virtual void Process(Histogram& histogram);
00025 virtual void Process(Timer& timer);
00026 private:
00027 class Impl;
00028 std::unique_ptr<Impl> impl_;
00029 };
00030
00031
00032 }
00033 }
00034
00035 #endif // MEDIDA_REPORTING_CONSOLE_REPORTER_H_