6 #ifndef PROCESSREGIONAGGREGATOR_HPP_INCLUDE
7 #define PROCESSREGIONAGGREGATOR_HPP_INCLUDE
36 static std::unique_ptr<ProcessRegionAggregator>
make_unique(
void);
47 void update(
void)
override;
60 struct region_info_s {
63 double last_entry_time;
65 std::map<int, std::map<uint64_t, region_info_s> > m_region_info;
Definition: ApplicationSampler.hpp:27
Class responsible for reading records from the ApplicationSampler and calculating the per-process run...
Definition: ProcessRegionAggregator.hpp:20
virtual ~ProcessRegionAggregator()=default
static std::unique_ptr< ProcessRegionAggregator > make_unique(void)
Definition: ProcessRegionAggregator.cpp:16
virtual double get_count_average(uint64_t region_hash) const =0
Returns the average number of entries into a region across all processes.
virtual double get_runtime_average(uint64_t region_hash) const =0
Returns the average total time spent in a region across all processes.
virtual void update(void)=0
Gets the latest set of records from ApplicationSampler.
Definition: ProcessRegionAggregator.hpp:42
double get_runtime_average(uint64_t region_hash) const override
Returns the average total time spent in a region across all processes.
Definition: ProcessRegionAggregator.cpp:85
double get_count_average(uint64_t region_hash) const override
Returns the average number of entries into a region across all processes.
Definition: ProcessRegionAggregator.cpp:100
void update(void) override
Gets the latest set of records from ApplicationSampler.
Definition: ProcessRegionAggregator.cpp:33
ProcessRegionAggregatorImp()
Definition: ProcessRegionAggregator.cpp:21
virtual ~ProcessRegionAggregatorImp()=default
Definition: Accumulator.cpp:12