SST 12.1.0
Structural Simulation Toolkit
SST::Statistics::StatisticFieldsOutput Class Referenceabstract
Inheritance diagram for SST::Statistics::StatisticFieldsOutput:
SST::Statistics::StatisticOutput SST::Statistics::StatisticOutputCSV SST::Statistics::StatisticOutputHDF5 SST::Statistics::StatisticOutputJSON SST::Statistics::StatisticOutputTextBase SST::Statistics::StatisticOutputConsole SST::Statistics::StatisticOutputTxt

Public Member Functions

void registerStatistic (StatisticBase *stat) override
 
void output (StatisticBase *statistic, bool endOfSimFlag) override
 
void startOutputGroup (StatisticGroup *group) override
 
void stopOutputGroup () override
 
void startRegisterGroup (StatisticGroup *group) override
 
void stopRegisterGroup () override
 
virtual void implStartOutputEntries (StatisticBase *statistic)=0
 Indicate to Statistic Output that a statistic is about to send data to be output Allows object to perform any initialization before output. More...
 
virtual void implStopOutputEntries ()=0
 Indicate to Statistic Output that a statistic is finished sending data to be output Allows object to perform any cleanup. More...
 
StatisticFieldInfogetRegisteredField (fieldHandle_t fieldHandle)
 Return the information on a registered field via the field handle. More...
 
template<typename T >
StatisticFieldInfogetRegisteredField (const char *statisticName, const char *fieldName)
 Return the information on a registered field via known names. More...
 
FieldInfoArray_t & getFieldInfoArray ()
 Return the array of registered field infos.
 
virtual void outputField (fieldHandle_t fieldHandle, int32_t data)
 Output field data. More...
 
virtual void outputField (fieldHandle_t fieldHandle, uint32_t data)
 
virtual void outputField (fieldHandle_t fieldHandle, int64_t data)
 
virtual void outputField (fieldHandle_t fieldHandle, uint64_t data)
 
virtual void outputField (fieldHandle_t fieldHandle, float data)
 
virtual void outputField (fieldHandle_t fieldHandle, double data)
 
template<typename T >
fieldHandle_t registerField (const char *fieldName)
 Register a field to be output (templated function) More...
 
const char * getFieldTypeShortName (fieldType_t type)
 Output field data. More...
 
- Public Member Functions inherited from SST::Statistics::StatisticOutput
std::string & getStatisticOutputName ()
 Return the Statistic Output name.
 
ParamsgetOutputParameters ()
 Return the parameters for the StatisticOutput.
 
virtual bool acceptsGroups () const
 True if this StatOutput can handle StatisticGroups. More...
 
virtual void output (StatisticBase *statistic, bool endOfSimFlag)=0
 
virtual bool supportsDynamicRegistration () const
 

Protected Member Functions

 StatisticFieldsOutput (Params &outputParameters)
 Construct a base StatisticOutput. More...
 
virtual void startRegisterFields (StatisticBase *statistic)
 These can be overriden, if necessary, but must be callable by the derived class.
 
virtual void stopRegisterFields ()
 
virtual void startOutputEntries (StatisticBase *statistic)
 
virtual void stopOutputEntries ()
 
- Protected Member Functions inherited from SST::Statistics::StatisticOutput
virtual bool checkOutputParameters ()=0
 Have the Statistic Output check its parameters. More...
 
virtual void printUsage ()=0
 Have Statistic Object print out its usage and parameter info. More...
 
virtual void startOfSimulation ()=0
 Indicate to Statistic Output that simulation has started. More...
 
virtual void endOfSimulation ()=0
 Indicate to Statistic Output that simulation has ended. More...
 
 StatisticOutput (Params &outputParameters)
 Construct a base StatisticOutput. More...
 
void setStatisticOutputName (const std::string &name)
 
void lock ()
 
void unlock ()
 

Additional Inherited Members

- Public Types inherited from SST::Statistics::StatisticOutput
using fieldType_t = StatisticFieldInfo::fieldType_t
 
using fieldHandle_t = StatisticFieldInfo::fieldHandle_t
 
using FieldInfoArray_t = std::vector< StatisticFieldInfo * >
 
using FieldNameMap_t = std::unordered_map< std::string, fieldHandle_t >
 
- Static Public Member Functions inherited from SST::Statistics::StatisticOutput
static const std::vector< SST::ElementInfoParam > & ELI_getParams ()
 

Constructor & Destructor Documentation

◆ StatisticFieldsOutput()

SST::Statistics::StatisticFieldsOutput::StatisticFieldsOutput ( Params outputParameters)
protected

Construct a base StatisticOutput.

Parameters
outputParameters- The parameters for the statistic Output.

Member Function Documentation

◆ getFieldTypeShortName()

const char * SST::Statistics::StatisticFieldsOutput::getFieldTypeShortName ( fieldType_t  type)

Output field data.

Parameters
type- The field type to get name of.
Returns
String name of the field type.

Referenced by SST::Statistics::StatisticOutputTextBase::outputField().

◆ getRegisteredField() [1/2]

template<typename T >
StatisticFieldInfo * SST::Statistics::StatisticFieldsOutput::getRegisteredField ( const char *  statisticName,
const char *  fieldName 
)
inline

Return the information on a registered field via known names.

Parameters
componentName- The name of the component.
statisticName- The name of the statistic.
fieldName- The name of the field .
Returns
Pointer to the registered field info.

References SST::Statistics::StatisticFieldInfo::getFieldUniqueName().

◆ getRegisteredField() [2/2]

StatisticFieldInfo * SST::Statistics::StatisticFieldsOutput::getRegisteredField ( fieldHandle_t  fieldHandle)

Return the information on a registered field via the field handle.

Parameters
fieldHandle- The handle of the registered field.
Returns
Pointer to the registered field info.

Referenced by SST::Statistics::StatisticOutputTextBase::outputField().

◆ implStartOutputEntries()

virtual void SST::Statistics::StatisticFieldsOutput::implStartOutputEntries ( StatisticBase statistic)
pure virtual

Indicate to Statistic Output that a statistic is about to send data to be output Allows object to perform any initialization before output.

Implemented in SST::Statistics::StatisticOutputCSV, SST::Statistics::StatisticOutputJSON, and SST::Statistics::StatisticOutputTextBase.

◆ implStopOutputEntries()

virtual void SST::Statistics::StatisticFieldsOutput::implStopOutputEntries ( )
pure virtual

Indicate to Statistic Output that a statistic is finished sending data to be output Allows object to perform any cleanup.

Implemented in SST::Statistics::StatisticOutputCSV, SST::Statistics::StatisticOutputJSON, and SST::Statistics::StatisticOutputTextBase.

◆ output()

void SST::Statistics::StatisticFieldsOutput::output ( StatisticBase statistic,
bool  endOfSimFlag 
)
overridevirtual

◆ outputField()

virtual void SST::Statistics::StatisticFieldsOutput::outputField ( fieldHandle_t  fieldHandle,
int32_t  data 
)
virtual

Output field data.

Parameters
fieldHandle- The handle of the registered field.
data- The data to be output.

Reimplemented in SST::Statistics::StatisticOutputCSV, SST::Statistics::StatisticOutputJSON, and SST::Statistics::StatisticOutputTextBase.

◆ registerField()

template<typename T >
fieldHandle_t SST::Statistics::StatisticFieldsOutput::registerField ( const char *  fieldName)
inline

Register a field to be output (templated function)

Parameters
fieldName- The name of the field.
Returns
The handle of the registered field or -1 if type is not supported. Note: Any field names (of the same data type) that are previously registered by a statistic will return the previously handle.

Referenced by SST::Statistics::AccumulatorStatistic< NumberBase >::registerOutputFields().

◆ registerStatistic()

void SST::Statistics::StatisticFieldsOutput::registerStatistic ( StatisticBase stat)
overridevirtual

◆ startOutputGroup()

void SST::Statistics::StatisticFieldsOutput::startOutputGroup ( StatisticGroup group)
overridevirtual

◆ startRegisterGroup()

void SST::Statistics::StatisticFieldsOutput::startRegisterGroup ( StatisticGroup group)
overridevirtual

◆ stopOutputGroup()

void SST::Statistics::StatisticFieldsOutput::stopOutputGroup ( )
overridevirtual

◆ stopRegisterGroup()

void SST::Statistics::StatisticFieldsOutput::stopRegisterGroup ( )
overridevirtual

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