Sampling Thread Controller. More...
Public Member Functions | |
Sampling_Thread_Controller () | |
void | start () |
mark the start of a measurement phase/period. More... | |
void | stop () |
mark the end of a measurement phase/period. More... | |
void | calc () |
calculate the metric value between start() and stop(). More... | |
void | show_meter_reading () const |
Print the calculated metric value to standard output, requires an invocation of calc() already done. More... | |
void | set_device (const nvmlDevice_t &device_handle) |
const NVML_Energy::Power_Unit & | get_power () const |
const NVML_Energy::Power_DB_Type & | get_power_db () const |
const NVML_Energy::Time_DB_Type & | get_time_db () const |
NVML_Energy::Power_DB_Type & | get_power_db_nonconst () |
NVML_Energy::Time_DB_Type & | get_time_db_nonconst () |
void | set_time_db (const NVML_Energy<>::Time_DB_Type &x) |
void | set_power_db (const NVML_Energy<>::Power_DB_Type &x) |
NVML_Energy::Time_Unit const & | get_stop_time () |
NVML_Energy::Time_Unit const & | get_start_time () |
void | reset_state () |
Private Member Functions | |
DECLARE_CLASS_NAME ("Sampling_Thread_Controller") | |
Static Private Member Functions | |
static NVML_Energy::Power_Unit | get_UNREALISTIC_POWER_VALUE () |
static void * | thread_program (void *arg) |
Private Attributes | |
bool | sampling |
nvmlDevice_t | device |
Device handle. More... | |
NVML_Energy::Power_Unit | power |
Power value for each sample. More... | |
NVML_Energy::Time_Unit | time |
Time value for each sample. More... | |
NVML_Energy::Time_DB_Type | time_db |
Power data database. More... | |
NVML_Energy::Power_DB_Type | power_db |
pthread_t | thread |
pthread_attr_t | attr |
Sampling Thread Controller.
Start a thread sampling power samples, and wait for stop signal.
|
inline |
|
inlinevirtual |
calculate the metric value between start() and stop().
Implements MeterPU::Measurement_Controller.
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestaticprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Print the calculated metric value to standard output, requires an invocation of calc() already done.
Implements MeterPU::Measurement_Controller.
|
inlinevirtual |
mark the start of a measurement phase/period.
Implements MeterPU::Measurement_Controller.
|
inlinevirtual |
mark the end of a measurement phase/period.
Implements MeterPU::Measurement_Controller.
|
inlinestaticprivate |
|
private |
|
private |
Device handle.
|
private |
Power value for each sample.
|
private |
|
private |
|
private |
|
private |
Time value for each sample.
|
private |
Power data database.
Store time and power value pairs.