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

A class used by the Controller to format the report at the end of a run. Most of the information for the report is passed into the generate() method at the end of a run, however the Reporter is also responsible for pushing some per-region signals to indicate that they should be tracked by the PlatformIO. More...

#include <Reporter.hpp>

Inheritance diagram for geopm::Reporter:
Inheritance graph
[legend]

Public Member Functions

 Reporter ()=default
 
virtual ~Reporter ()=default
 
virtual void init (void)=0
 Handle any initialization that must take place after the Controller has connected to the application. More...
 
virtual void update (void)=0
 Read values from PlatformIO to update aggregated samples. More...
 
virtual 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)=0
 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...
 
virtual 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)=0
 
virtual void total_time (double total)=0
 
virtual void overhead (double overhead_sec, double sample_delay)=0
 

Detailed Description

A class used by the Controller to format the report at the end of a run. Most of the information for the report is passed into the generate() method at the end of a run, however the Reporter is also responsible for pushing some per-region signals to indicate that they should be tracked by the PlatformIO.

Constructor & Destructor Documentation

◆ Reporter()

geopm::Reporter::Reporter ( )
default

◆ ~Reporter()

virtual geopm::Reporter::~Reporter ( )
virtualdefault

Member Function Documentation

◆ generate() [1/2]

virtual void geopm::Reporter::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 
)
pure virtual

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.

Implemented in geopm::ReporterImp.

◆ generate() [2/2]

virtual std::string geopm::Reporter::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 
)
pure virtual

Implemented in geopm::ReporterImp.

◆ init()

virtual void geopm::Reporter::init ( void  )
pure virtual

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

Implemented in geopm::ReporterImp.

◆ overhead()

virtual void geopm::Reporter::overhead ( double  overhead_sec,
double  sample_delay 
)
pure virtual

Implemented in geopm::ReporterImp.

◆ total_time()

virtual void geopm::Reporter::total_time ( double  total)
pure virtual

Implemented in geopm::ReporterImp.

◆ update()

virtual void geopm::Reporter::update ( void  )
pure virtual

Read values from PlatformIO to update aggregated samples.

Implemented in geopm::ReporterImp.


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