All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MeterPU::PCM_Energy_Measurement_Controller Struct Reference

CPU and DRAME Energy Measurement Controller. More...

#include <MeterPU.h>

Inheritance diagram for MeterPU::PCM_Energy_Measurement_Controller:
Inheritance graph
[legend]
Collaboration diagram for MeterPU::PCM_Energy_Measurement_Controller:
Collaboration graph
[legend]

Public Member Functions

void init ()
 
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...
 
PCM_Energy::ResultType const & get_value () const
 Get calculated metric value, require calc() to be called already. More...
 
void show_meter_reading () const
 Print the calculated metric value to standard output, requires an invocation of calc() already done. More...
 
PCM_Energy::ResultType const & get_cpu_energy () const
 
PCM_Energy::ResultType const & get_dram_energy () const
 
 PCM_Energy_Measurement_Controller ()
 
 ~PCM_Energy_Measurement_Controller ()
 

Private Member Functions

 DECLARE_CLASS_NAME ("PCM_Energy_Measurement_Controller")
 
void update_cpu_energy ()
 
void update_dram_energy ()
 

Private Attributes

PCM_Energy::ResultType meter_reading
 
PCM_Energy::CPU_Energy_Type cpu_energy
 
PCM_Energy::DRAM_Energy_Type dram_energy
 
PCM * pcm
 
SystemCounterState before_sstate
 
SystemCounterState after_sstate
 

Detailed Description

CPU and DRAME Energy Measurement Controller.

It internally uses Intel PCM library.

Constructor & Destructor Documentation

MeterPU::PCM_Energy_Measurement_Controller::PCM_Energy_Measurement_Controller ( )
inline
MeterPU::PCM_Energy_Measurement_Controller::~PCM_Energy_Measurement_Controller ( )
inline

Member Function Documentation

void MeterPU::PCM_Energy_Measurement_Controller::calc ( )
inlinevirtual

calculate the metric value between start() and stop().

Implements MeterPU::Measurement_Controller.

Here is the call graph for this function:

MeterPU::PCM_Energy_Measurement_Controller::DECLARE_CLASS_NAME ( "PCM_Energy_Measurement_Controller"  )
private
PCM_Energy::ResultType const& MeterPU::PCM_Energy_Measurement_Controller::get_cpu_energy ( ) const
inline
PCM_Energy::ResultType const& MeterPU::PCM_Energy_Measurement_Controller::get_dram_energy ( ) const
inline
PCM_Energy::ResultType const& MeterPU::PCM_Energy_Measurement_Controller::get_value ( ) const
inline

Get calculated metric value, require calc() to be called already.

Here is the caller graph for this function:

void MeterPU::PCM_Energy_Measurement_Controller::init ( )
inline
void MeterPU::PCM_Energy_Measurement_Controller::show_meter_reading ( ) const
inlinevirtual

Print the calculated metric value to standard output, requires an invocation of calc() already done.

Implements MeterPU::Measurement_Controller.

Here is the call graph for this function:

void MeterPU::PCM_Energy_Measurement_Controller::start ( )
inlinevirtual

mark the start of a measurement phase/period.

Implements MeterPU::Measurement_Controller.

void MeterPU::PCM_Energy_Measurement_Controller::stop ( )
inlinevirtual

mark the end of a measurement phase/period.

Implements MeterPU::Measurement_Controller.

void MeterPU::PCM_Energy_Measurement_Controller::update_cpu_energy ( )
inlineprivate

Here is the caller graph for this function:

void MeterPU::PCM_Energy_Measurement_Controller::update_dram_energy ( )
inlineprivate

Here is the caller graph for this function:

Member Data Documentation

SystemCounterState MeterPU::PCM_Energy_Measurement_Controller::after_sstate
private
SystemCounterState MeterPU::PCM_Energy_Measurement_Controller::before_sstate
private
PCM_Energy::CPU_Energy_Type MeterPU::PCM_Energy_Measurement_Controller::cpu_energy
private
PCM_Energy::DRAM_Energy_Type MeterPU::PCM_Energy_Measurement_Controller::dram_energy
private
PCM_Energy::ResultType MeterPU::PCM_Energy_Measurement_Controller::meter_reading
private
PCM* MeterPU::PCM_Energy_Measurement_Controller::pcm
private

The documentation for this struct was generated from the following file: