#include <ApplicationSamplerImp.hpp>
|
| ApplicationSamplerImp () |
|
| ApplicationSamplerImp (std::shared_ptr< ApplicationStatus > status, const PlatformTopo &platform_topo, const std::map< int, m_process_s > &process_map, bool is_filtered, const std::string &filter_name, const std::vector< bool > &is_cpu_active, const std::string &profile_name, const std::map< int, std::set< int > > &client_cpu_map, std::shared_ptr< Scheduler > scheduler) |
|
virtual | ~ApplicationSamplerImp ()=default |
|
void | update (const geopm_time_s &curr_time) override |
| Update the record buffer by clearing out old records and providing a new cache for subsequent calls to the get_records() method. Also update cache of application status for use by hint and progress APIs. More...
|
|
std::vector< record_s > | get_records (void) const override |
| Get all of the application events that have been recorded since the last call to update_records(). More...
|
|
short_region_s | get_short_region (uint64_t event_signal) const override |
|
uint64_t | cpu_region_hash (int cpu_idx) const override |
| Get the region hash associated with a CPU. More...
|
|
uint64_t | cpu_hint (int cpu_idx) const override |
| Get the hint associated with a CPU. More...
|
|
double | cpu_hint_time (int cpu_idx, uint64_t hint) const override |
| Get the amount of time a CPU has been measured running with a hint. More...
|
|
double | cpu_progress (int cpu_idx) const override |
| Get the progress reported on a CPU. More...
|
|
void | connect (const std::vector< int > &client_pids) override |
| Connect with an application using a key. More...
|
|
std::vector< int > | client_pids (void) const override |
|
std::set< int > | client_cpu_set (int client_pid) const override |
|
bool | do_shutdown (void) const override |
|
double | total_time (void) const override |
|
double | overhead_time (void) const override |
|
int | sampler_cpu (void) |
|
virtual | ~ApplicationSampler ()=default |
|
◆ ApplicationSamplerImp() [1/2]
geopm::ApplicationSamplerImp::ApplicationSamplerImp |
( |
| ) |
|
◆ ApplicationSamplerImp() [2/2]
geopm::ApplicationSamplerImp::ApplicationSamplerImp |
( |
std::shared_ptr< ApplicationStatus > |
status, |
|
|
const PlatformTopo & |
platform_topo, |
|
|
const std::map< int, m_process_s > & |
process_map, |
|
|
bool |
is_filtered, |
|
|
const std::string & |
filter_name, |
|
|
const std::vector< bool > & |
is_cpu_active, |
|
|
const std::string & |
profile_name, |
|
|
const std::map< int, std::set< int > > & |
client_cpu_map, |
|
|
std::shared_ptr< Scheduler > |
scheduler |
|
) |
| |
◆ ~ApplicationSamplerImp()
virtual geopm::ApplicationSamplerImp::~ApplicationSamplerImp |
( |
| ) |
|
|
virtualdefault |
◆ client_cpu_set()
std::set< int > geopm::ApplicationSamplerImp::client_cpu_set |
( |
int |
client_pid | ) |
const |
|
overridevirtual |
◆ client_pids()
std::vector< int > geopm::ApplicationSamplerImp::client_pids |
( |
void |
| ) |
const |
|
overridevirtual |
◆ connect()
void geopm::ApplicationSamplerImp::connect |
( |
const std::vector< int > & |
client_pids | ) |
|
|
overridevirtual |
Connect with an application using a key.
Called by the Controller to set up all channels of communication with the application using the provided string as a key.
Implements geopm::ApplicationSampler.
◆ cpu_hint()
uint64_t geopm::ApplicationSamplerImp::cpu_hint |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
Get the hint associated with a CPU.
Returns the most recently sampled value for the hint associated with the Linux logical CPU specified by the user. An exception is raised if the value of cpu_idx is negative or greater or equal to platform_topo().num_domain(GEOPM_DOMAIN_CPU).
- Parameters
-
[in] | cpu_idx | The index of the linux logical CPU to query. |
- Returns
- The hint associated with the CPU.
Implements geopm::ApplicationSampler.
◆ cpu_hint_time()
double geopm::ApplicationSamplerImp::cpu_hint_time |
( |
int |
cpu_idx, |
|
|
uint64_t |
hint |
|
) |
| const |
|
overridevirtual |
Get the amount of time a CPU has been measured running with a hint.
Returns a total amount of time in seconds that a CPU was measured to be running with the hint value on the Linux logical CPU specified by the user. An exception is raised if the value of cpu_idx is negative or greater or equal to platform_topo().num_domain(GEOPM_DOMAIN_CPU) or if the specified hint is invalid.
- Parameters
-
[in] | cpu_idx | The index of the linux logical CPU to query. |
- Returns
- The total time in seconds since the applications started.
Implements geopm::ApplicationSampler.
◆ cpu_progress()
double geopm::ApplicationSamplerImp::cpu_progress |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
Get the progress reported on a CPU.
Returns the most recently sampled value for the fraction of the work units completed by the thread running on the specified CPU. If the CPU queried is not currently executing a thread that is reporting progress, then the value NAN is returned. An exception is raised if the value of cpu_idx is negative or greater or equal to platform_topo().num_domain(GEOPM_DOMAIN_CPU).
- Parameters
-
[in] | cpu_idx | The index of the linux logical CPU to query. |
- Returns
- Value between 0.0 and 1.0 representing the fraction of work completed, or NAN.
Implements geopm::ApplicationSampler.
◆ cpu_region_hash()
uint64_t geopm::ApplicationSamplerImp::cpu_region_hash |
( |
int |
cpu_idx | ) |
const |
|
overridevirtual |
Get the region hash associated with a CPU.
Returns the most recently sampled value for the region hash associated with the Linux logical CPU specified by the user. An exception is raised if the value of cpu_idx is negative or greater or equal to platform_topo().num_domain(GEOPM_DOMAIN_CPU).
- Parameters
-
[in] | cpu_idx | The index of the linux logical CPU to query. |
- Returns
- The region hash associated with the CPU.
Implements geopm::ApplicationSampler.
◆ do_shutdown()
bool geopm::ApplicationSamplerImp::do_shutdown |
( |
void |
| ) |
const |
|
overridevirtual |
◆ get_records()
std::vector< record_s > geopm::ApplicationSamplerImp::get_records |
( |
void |
| ) |
const |
|
overridevirtual |
Get all of the application events that have been recorded since the last call to update_records().
- Returns
- Vector of application event records.
Implements geopm::ApplicationSampler.
◆ get_short_region()
short_region_s geopm::ApplicationSamplerImp::get_short_region |
( |
uint64_t |
event_signal | ) |
const |
|
overridevirtual |
◆ overhead_time()
double geopm::ApplicationSamplerImp::overhead_time |
( |
void |
| ) |
const |
|
overridevirtual |
◆ sampler_cpu()
int geopm::ApplicationSamplerImp::sampler_cpu |
( |
void |
| ) |
|
◆ total_time()
double geopm::ApplicationSamplerImp::total_time |
( |
void |
| ) |
const |
|
overridevirtual |
◆ update()
void geopm::ApplicationSamplerImp::update |
( |
const geopm_time_s & |
curr_time | ) |
|
|
overridevirtual |
Update the record buffer by clearing out old records and providing a new cache for subsequent calls to the get_records() method. Also update cache of application status for use by hint and progress APIs.
Implements geopm::ApplicationSampler.
The documentation for this class was generated from the following files: