6 #ifndef SAMPLEAGGREGATOR_HPP_INCLUDE
7 #define SAMPLEAGGREGATOR_HPP_INCLUDE
14 #include "geopm_public.h"
23 static std::unique_ptr<SampleAggregator> make_unique(
void);
Definition: SampleAggregator.hpp:19
virtual int push_signal_average(const std::string &signal_name, int domain_type, int domain_idx)=0
Push a signal to be accumulated per-region as an average.
virtual double sample_epoch(int signal_idx)=0
Get the aggregated value of a signal since the first epoch.
virtual int get_period(void)=0
Get the index of the current time period.
virtual ~SampleAggregator()=default
Default destructor of pure virtual base.
virtual int push_signal_total(const std::string &signal_name, int domain_type, int domain_idx)=0
Push a signal to be accumulated per-region as a total.
virtual double sample_application(int signal_idx)=0
Get the aggregated value of a signal.
SampleAggregator()=default
virtual double sample_region(int signal_idx, uint64_t region_hash)=0
Get the aggregated value of a signal during the execution of a particular region.
virtual double sample_period_last(int signal_idx)=0
Get the aggregated value of a signal during the last completed time interval.
virtual double sample_region_last(int signal_idx, uint64_t region_hash)=0
Get the aggregated value of a signal during the the last completed execution of a particular region.
virtual void update(void)=0
Update stored totals for each signal.
virtual void period_duration(double duration)=0
Set the time period for sample_period_last()
virtual double sample_epoch_last(int signal_idx)=0
Get the aggregated value of a signal over the last completed epoch interval.
virtual int push_signal(const std::string &signal_name, int domain_type, int domain_idx)=0
Push a signal to be accumulated per-region.
Definition: Accumulator.cpp:12