6 #ifndef APPLICATIONSAMPLER_HPP_INCLUDE
7 #define APPLICATIONSAMPLER_HPP_INCLUDE
17 #include "geopm_time.h"
21 class ApplicationRecordLog;
24 struct short_region_s;
41 virtual void update(
const geopm_time_s &curr_time) = 0;
71 virtual uint64_t
cpu_hint(
int cpu_idx)
const = 0;
121 static std::set<uint64_t> region_hash_network_once(
void);
Definition: ApplicationSampler.hpp:27
ApplicationSampler()=default
virtual bool do_shutdown(void) const =0
virtual double total_time(void) const =0
virtual void connect(const std::vector< int > &client_pids)=0
Connect with an application using a key.
virtual std::vector< int > client_pids(void) const =0
static std::set< uint64_t > region_hash_network(void)
Returns set of region hashes associated with application network functions.
Definition: ApplicationSampler.cpp:45
virtual double overhead_time(void) const =0
virtual double cpu_progress(int cpu_idx) const =0
Get the progress reported on a CPU.
virtual double cpu_hint_time(int cpu_idx, uint64_t hint) const =0
Get the amount of time a CPU has been measured running with a hint.
virtual std::set< int > client_cpu_set(int client_pid) const =0
virtual void update(const geopm_time_s &curr_time)=0
Update the record buffer by clearing out old records and providing a new cache for subsequent calls t...
virtual ~ApplicationSampler()=default
virtual uint64_t cpu_hint(int cpu_idx) const =0
Get the hint associated with a CPU.
static ApplicationSampler & application_sampler(void)
Singleton accessor for the application sampler.
Definition: ApplicationSampler.cpp:39
virtual std::vector< record_s > get_records(void) const =0
Get all of the application events that have been recorded since the last call to update_records().
virtual short_region_s get_short_region(uint64_t event_signal) const =0
virtual uint64_t cpu_region_hash(int cpu_idx) const =0
Get the region hash associated with a CPU.
Definition: Accumulator.cpp:12
Definition: record.hpp:72