00001
00002
00003
00004
00005 #ifndef MEDIDA_REPORTING_ABSTRACT_POLLING_REPORTER_H_
00006 #define MEDIDA_REPORTING_ABSTRACT_POLLING_REPORTER_H_
00007
00008 #include <memory>
00009
00010 #include "medida/types.h"
00011
00012 namespace medida {
00013 namespace reporting {
00014
00015 class AbstractPollingReporter {
00016 public:
00017 AbstractPollingReporter();
00018 virtual ~AbstractPollingReporter();
00019 virtual void Shutdown();
00020 virtual void Start(Clock::duration period = std::chrono::seconds(5));
00021 virtual void Run();
00022 private:
00023 class Impl;
00024 std::unique_ptr<Impl> impl_;
00025 };
00026
00027 }
00028 }
00029
00030 #endif // MEDIDA_REPORTING_ABSTRACT_POLLING_REPORTER_H_