SST  14.1.0
StructuralSimulationToolkit
SST::Statistics::StatisticProcessingEngine Class Reference

An SST core component that handles timing and event processing informing all registered Statistics to generate their outputs at desired rates. More...

#include <statengine.h>

Inheritance diagram for SST::Statistics::StatisticProcessingEngine:
SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base

Public Member Functions

void performStatisticOutput (StatisticBase *stat, bool endOfSimFlag=false)
 Called by the Components and Subcomponent to perform a statistic Output. More...
 
void performGlobalStatisticOutput (bool endOfSimFlag=false)
 Called by the Components and Subcomponent to perform a global statistic Output. More...
 
template<class T >
Statistic< T > * createStatistic (BaseComponent *comp, const std::string &type, const std::string &statName, const std::string &statSubId, Params &params)
 
bool registerStatisticWithEngine (StatisticBase *stat)
 
uint8_t statLoadLevel () const
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
ImplementSerializable(SST::Statistics::StatisticProcessingEngine) private friend int ::main (int argc, char **argv)
 
friend void ::finalize_statEngineConfig (void)
 
void setup (Simulation_impl *sim, ConfigGraph *graph)
 
void restart (Simulation_impl *sim)
 
bool registerStatisticCore (StatisticBase *stat)
 
StatisticOutputgetOutputForStatistic (const StatisticBase *stat) const
 
StatisticGroupgetGroupForStatistic (const StatisticBase *stat) const
 
bool addPeriodicBasedStatistic (const UnitAlgebra &freq, StatisticBase *Stat)
 
bool addEventBasedStatistic (const UnitAlgebra &count, StatisticBase *Stat)
 
bool addEndOfSimStatistic (StatisticBase *Stat)
 
UnitAlgebra getParamTime (StatisticBase *stat, const std::string &pName) const
 
void setStatisticStartTime (StatisticBase *Stat)
 
void setStatisticStopTime (StatisticBase *Stat)
 
void finalizeInitialization ()
 
void startOfSimulation ()
 
void endOfSimulation ()
 
void performStatisticOutputImpl (StatisticBase *stat, bool endOfSimFlag)
 
void performStatisticGroupOutputImpl (StatisticGroup &group, bool endOfSimFlag)
 
bool handleStatisticEngineClockEvent (Cycle_t CycleNum, SimTime_t timeFactor)
 
bool handleGroupClockEvent (Cycle_t CycleNum, StatisticGroup *group)
 
void handleStatisticEngineStartTimeEvent (SimTime_t timeFactor)
 
void handleStatisticEngineStopTimeEvent (SimTime_t timeFactor)
 
StatisticBaseisStatisticInCompStatMap (const std::string &compName, const ComponentId_t &compId, const std::string &statName, const std::string &statSubId, StatisticFieldInfo::fieldType_t fieldType)
 
void addStatisticToCompStatMap (StatisticBase *Stat, StatisticFieldInfo::fieldType_t fieldType)
 
void castError (const std::string &type, const std::string &statName, const std::string &fieldName)
 
- Public Member Functions inherited from SST::Core::Serialization::serializable_base
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Static Public Member Functions

static const std::vector< StatisticOutput * > & getStatOutputs ()
 
static void static_setup (ConfigGraph *graph)
 Called to setup the StatOutputs, which are shared across all the StatEngines on the same MPI rank.
 
static void stat_outputs_simulation_start ()
 Called to notify StatOutputs that simulation has started.
 
static void stat_outputs_simulation_end ()
 Called to notify StatOutputs that simulation has ended.
 
static StatisticOutputcreateStatisticOutput (const ConfigStatOutput &cfg)
 

Additional Inherited Members

- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Static Public Attributes inherited from SST::Core::Serialization::serializable_base
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 
- Protected Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 

Detailed Description

An SST core component that handles timing and event processing informing all registered Statistics to generate their outputs at desired rates.

Member Function Documentation

◆ performGlobalStatisticOutput()

void SST::Statistics::StatisticProcessingEngine::performGlobalStatisticOutput ( bool  endOfSimFlag = false)

Called by the Components and Subcomponent to perform a global statistic Output.

This routine will force ALL Components and Subcomponents to output their statistic information. This may lead to unexpected results if the statistic counts or data is reset on output.

Parameters
endOfSimFlag- Indicates that the output is occurring at the end of simulation.

Referenced by SST::BaseComponent::performGlobalStatisticOutput().

◆ performStatisticOutput()

void SST::Statistics::StatisticProcessingEngine::performStatisticOutput ( StatisticBase stat,
bool  endOfSimFlag = false 
)

Called by the Components and Subcomponent to perform a statistic Output.

Parameters
stat- Pointer to the statistic.
EndOfSimFlag- Indicates that the output is occurring at the end of simulation.

Referenced by SST::BaseComponent::performStatisticOutput().


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