Medida
json_reporter.h
00001 //
00002 // Copyright (c) 2012 Daniel Lundin
00003 //
00004 
00005 #ifndef MEDIDA_REPORTING_JSON_REPORTER_H_
00006 #define MEDIDA_REPORTING_JSON_REPORTER_H_
00007 
00008 #include <memory>
00009 #include <string>
00010 
00011 #include "medida/metric_processor.h"
00012 #include "medida/metrics_registry.h"
00013 
00014 namespace medida {
00015 namespace reporting {
00016 
00017 class JsonReporter : public MetricProcessor {
00018  public:
00019   JsonReporter(MetricsRegistry &registry);
00020   virtual ~JsonReporter();
00021   virtual void Process(Counter& counter);
00022   virtual void Process(Meter& meter);
00023   virtual void Process(Histogram& histogram);
00024   virtual void Process(Timer& timer);
00025   virtual std::string Report();
00026  private:
00027   class Impl;
00028   std::unique_ptr<Impl> impl_;
00029 };
00030 
00031 
00032 } // namespace reporting
00033 } // namespace medida
00034 
00035 #endif // MEDIDA_REPORTING_JSON_REPORTER_H_
 All Classes