#include <ApplicationRecordLog.hpp>
|
| ApplicationRecordLogImp (std::shared_ptr< SharedMemory > shmem) |
|
| ApplicationRecordLogImp (std::shared_ptr< SharedMemory > shmem, int process, std::shared_ptr< Scheduler > scheduler) |
|
virtual | ~ApplicationRecordLogImp ()=default |
|
void | enter (uint64_t hash, const geopm_time_s &time) override |
| Create a message in the log defining a region entry. More...
|
|
void | exit (uint64_t hash, const geopm_time_s &time) override |
| Create a message in the log defining a region exit. More...
|
|
void | epoch (const geopm_time_s &time) override |
| Create a message in the log defining an epoch event. More...
|
|
void | dump (std::vector< record_s > &records, std::vector< short_region_s > &short_regions) override |
| Get all events that have occurred since the last call to dump(). More...
|
|
void | affinity (const geopm_time_s &time, int cpu_idx) override |
|
void | cpuset_changed (const geopm_time_s &time) override |
|
void | start_profile (const geopm_time_s &time, const std::string &profile_name) override |
|
void | stop_profile (const geopm_time_s &time, const std::string &profile_name) override |
|
void | overhead (const geopm_time_s &time, double overhead_sec) override |
|
virtual | ~ApplicationRecordLog ()=default |
| Destructor for pure virtual base class. More...
|
|
◆ ApplicationRecordLogImp() [1/2]
geopm::ApplicationRecordLogImp::ApplicationRecordLogImp |
( |
std::shared_ptr< SharedMemory > |
shmem | ) |
|
◆ ApplicationRecordLogImp() [2/2]
geopm::ApplicationRecordLogImp::ApplicationRecordLogImp |
( |
std::shared_ptr< SharedMemory > |
shmem, |
|
|
int |
process, |
|
|
std::shared_ptr< Scheduler > |
scheduler |
|
) |
| |
◆ ~ApplicationRecordLogImp()
virtual geopm::ApplicationRecordLogImp::~ApplicationRecordLogImp |
( |
| ) |
|
|
virtualdefault |
◆ affinity()
void geopm::ApplicationRecordLogImp::affinity |
( |
const geopm_time_s & |
time, |
|
|
int |
cpu_idx |
|
) |
| |
|
overridevirtual |
◆ cpuset_changed()
void geopm::ApplicationRecordLogImp::cpuset_changed |
( |
const geopm_time_s & |
time | ) |
|
|
overridevirtual |
◆ dump()
void geopm::ApplicationRecordLogImp::dump |
( |
std::vector< record_s > & |
records, |
|
|
std::vector< short_region_s > & |
short_regions |
|
) |
| |
|
overridevirtual |
Get all events that have occurred since the last call to dump().
Called by the ApplicationSampler to gather all records that have been created by the Profile object since the last time the method was called. The call effectively removes all of the records and short region data from the table.
For optimal performance the user should reserve space in the output vectors using the max_record() and max_region() static methods:
records.reserve(ApplicationRecordLog::max_record());
short_regions.reserve(ApplicationRecordLog::max_region());
Note that the "signal" in any sort region events in the records output vector is the index into the short_regions output vector, and the length of the short_regions vector will be equal to the number of events with type "EVENT_SHORT_REGION" in the records output vector.
- Parameters
-
[out] | records | Vector of records written since last dump(). |
[out] | short_regions | Vector of short region data about any short regions events in the records output vector. |
Implements geopm::ApplicationRecordLog.
◆ enter()
void geopm::ApplicationRecordLogImp::enter |
( |
uint64_t |
hash, |
|
|
const geopm_time_s & |
time |
|
) |
| |
|
overridevirtual |
Create a message in the log defining a region entry.
Called by the Profile object when a region is entered. This creates a record_s in the log indicating entry if the region is entered for the first time since the last dump() call, or it sets the start time for a short region if the region was entered and exited since the last call to dump().
- Parameters
-
[in] | hash | The region hash that is entered. |
[in] | time | The timestamp when the entry event occurred. |
Implements geopm::ApplicationRecordLog.
◆ epoch()
void geopm::ApplicationRecordLogImp::epoch |
( |
const geopm_time_s & |
time | ) |
|
|
overridevirtual |
Create a message in the log defining an epoch event.
Called by the Profile object when an epoch event occurs. This creates a record_s in the log indicating that an epoch event occurred.
- Parameters
-
time | [in] The timestamp when the epoch event occurred. |
Implements geopm::ApplicationRecordLog.
◆ exit()
void geopm::ApplicationRecordLogImp::exit |
( |
uint64_t |
hash, |
|
|
const geopm_time_s & |
time |
|
) |
| |
|
overridevirtual |
Create a message in the log defining a region exit.
Called by the Profile object when a region is exited. This creates a record_s in the log indicating exit if the matching entry for the region was called prior to the last dump() call. If the region was entered since the last call to dump(), the first entry event will be converted into a short region event. The call to exit() for short regions has the effect of updating the short region event time and count values.
- Parameters
-
hash | [in] The region hash that was exited. |
time | [in] The timestamp when the exit event occurred. |
Implements geopm::ApplicationRecordLog.
◆ overhead()
void geopm::ApplicationRecordLogImp::overhead |
( |
const geopm_time_s & |
time, |
|
|
double |
overhead_sec |
|
) |
| |
|
overridevirtual |
◆ start_profile()
void geopm::ApplicationRecordLogImp::start_profile |
( |
const geopm_time_s & |
time, |
|
|
const std::string & |
profile_name |
|
) |
| |
|
overridevirtual |
◆ stop_profile()
void geopm::ApplicationRecordLogImp::stop_profile |
( |
const geopm_time_s & |
time, |
|
|
const std::string & |
profile_name |
|
) |
| |
|
overridevirtual |
The documentation for this class was generated from the following files: