geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Classes | Public Member Functions | List of all members
geopm::ReporterImp Class Reference

#include <Reporter.hpp>

Inheritance diagram for geopm::ReporterImp:
Inheritance graph
[legend]
Collaboration diagram for geopm::ReporterImp:
Collaboration graph
[legend]

Public Member Functions

 ReporterImp (const std::string &start_time, PlatformIO &platform_io, const PlatformTopo &platform_topo, int rank)
 
 ReporterImp (const std::string &start_time, PlatformIO &platform_io, const PlatformTopo &platform_topo, int rank, std::shared_ptr< SampleAggregator > sample_agg, std::shared_ptr< ProcessRegionAggregator > proc_agg, const std::string &report_name, const std::vector< std::pair< std::string, int > > &env_signal, const std::string &policy_path, bool do_endpoint, const std::string &profile_name, bool do_ctl_local)
 
virtual ~ReporterImp ()=default
 
void init (void) override
 Handle any initialization that must take place after the Controller has connected to the application. More...
 
void update (void) override
 Read values from PlatformIO to update aggregated samples. More...
 
void generate (const std::string &agent_name, const std::vector< std::pair< std::string, std::string > > &agent_report_header, const std::vector< std::pair< std::string, std::string > > &agent_host_report, const std::map< uint64_t, std::vector< std::pair< std::string, std::string > > > &agent_region_report, const ApplicationIO &application_io, std::shared_ptr< Comm > comm, const TreeComm &tree_comm) override
 Create a report for this node. If the node is the root controller, format the header, aggregate all other node reports, and write the report to the file indicated in the environment. More...
 
std::string generate (const std::string &profile_name, const std::string &agent_name, const std::vector< std::pair< std::string, std::string > > &agent_report_header, const std::vector< std::pair< std::string, std::string > > &agent_host_report, const std::map< uint64_t, std::vector< std::pair< std::string, std::string > > > &agent_region_report) override
 
void total_time (double total) override
 
void overhead (double overhead_sec, double sample_delay) override
 
- Public Member Functions inherited from geopm::Reporter
 Reporter ()=default
 
virtual ~Reporter ()=default
 

Constructor & Destructor Documentation

◆ ReporterImp() [1/2]

geopm::ReporterImp::ReporterImp ( const std::string &  start_time,
PlatformIO &  platform_io,
const PlatformTopo &  platform_topo,
int  rank 
)

◆ ReporterImp() [2/2]

geopm::ReporterImp::ReporterImp ( const std::string &  start_time,
PlatformIO &  platform_io,
const PlatformTopo &  platform_topo,
int  rank,
std::shared_ptr< SampleAggregator sample_agg,
std::shared_ptr< ProcessRegionAggregator proc_agg,
const std::string &  report_name,
const std::vector< std::pair< std::string, int > > &  env_signal,
const std::string &  policy_path,
bool  do_endpoint,
const std::string &  profile_name,
bool  do_ctl_local 
)

◆ ~ReporterImp()

virtual geopm::ReporterImp::~ReporterImp ( )
virtualdefault

Member Function Documentation

◆ generate() [1/2]

void geopm::ReporterImp::generate ( const std::string &  agent_name,
const std::vector< std::pair< std::string, std::string > > &  agent_report_header,
const std::vector< std::pair< std::string, std::string > > &  agent_host_report,
const std::map< uint64_t, std::vector< std::pair< std::string, std::string > > > &  agent_region_report,
const ApplicationIO application_io,
std::shared_ptr< Comm comm,
const TreeComm tree_comm 
)
overridevirtual

Create a report for this node. If the node is the root controller, format the header, aggregate all other node reports, and write the report to the file indicated in the environment.

Parameters
[in]agent_nameName of the Agent.
[in]agent_report_headerOptional list of key-value pairs from the agent to be added to the report header.
[in]agent_host_reportOptional list of key-value pairs from the agent to be added to the host section of the report.
[in]agent_region_reportOptional mapping from region ID to lists of key-value pairs from the agent to be added as additional information about each region.
[in]application_ioReference to the ApplicationIO owned by the controller.
[in]commShared pointer to the Comm owned by the controller.
[in]tree_commReference to the TreeComm owned by the controller.

Implements geopm::Reporter.

◆ generate() [2/2]

std::string geopm::ReporterImp::generate ( const std::string &  profile_name,
const std::string &  agent_name,
const std::vector< std::pair< std::string, std::string > > &  agent_report_header,
const std::vector< std::pair< std::string, std::string > > &  agent_host_report,
const std::map< uint64_t, std::vector< std::pair< std::string, std::string > > > &  agent_region_report 
)
overridevirtual

Implements geopm::Reporter.

◆ init()

void geopm::ReporterImp::init ( void  )
overridevirtual

Handle any initialization that must take place after the Controller has connected to the application.

Implements geopm::Reporter.

◆ overhead()

void geopm::ReporterImp::overhead ( double  overhead_sec,
double  sample_delay 
)
overridevirtual

Implements geopm::Reporter.

◆ total_time()

void geopm::ReporterImp::total_time ( double  total)
overridevirtual

Implements geopm::Reporter.

◆ update()

void geopm::ReporterImp::update ( void  )
overridevirtual

Read values from PlatformIO to update aggregated samples.

Implements geopm::Reporter.


The documentation for this class was generated from the following files: