SST  15.1.0
StructuralSimulationToolkit
SST::Statistics::Statistic< T > Class Template Reference

Forms the template defined base class for statistics gathering within SST. More...

#include <statbase.h>

Inheritance diagram for SST::Statistics::Statistic< T >:
SST::Statistics::StatisticBase SST::Statistics::StatisticCollector< T > SST::Statistics::NullStatisticBase< T, false > SST::Statistics::NullStatisticBase< T, true > SST::Statistics::UniqueCountStatistic< T >

Public Member Functions

 SST_ELI_DECLARE_INFO (ELI::ProvidesInterface, ELI::ProvidesParams) SST_ELI_DOCUMENT_PARAMS(
 
template<class... InArgs>
void addData (InArgs &&... args)
 Add data to the Statistic This will call the addData_impl() routine in the derived Statistic.
 
template<class... InArgs>
void addDataNTimes (uint64_t N, InArgs &&... args)
 
virtual void serialize_order (SST::Core::Serialization::serializer &ser) override
 Serialization.
 
- Public Member Functions inherited from SST::Statistics::StatisticBase
void enable ()
 Enable Statistic for collections.
 
void disable ()
 Disable Statistic for collections.
 
virtual void clearStatisticData ()
 Inform the Statistic to clear its data.
 
virtual void resetCollectionCount ()
 Set the current collection count to 0.
 
virtual void incrementCollectionCount (uint64_t increment)
 Increment current collection count.
 
virtual void setCollectionCount (uint64_t new_count)
 Set the current collection count to a defined value.
 
virtual void setCollectionCountLimit (uint64_t new_limit)
 Set the collection count limit to a defined value.
 
void setFlagResetCountOnOutput (bool flag)
 Set the Reset Count On Output flag. More...
 
void setFlagClearDataOnOutput (bool flag)
 Set the Clear Data On Output flag. More...
 
void setFlagOutputAtEndOfSim (bool flag)
 Set the Output At End Of Sim flag. More...
 
void setPortModName (std::string &port, size_t index)
 Set port name if stat is owned by a port module Temporary field until a common base class for elements with stats is created.
 
const std::string getCompName () const
 Return the Component Name.
 
const std::string & getStatName () const
 Return the Statistic Name.
 
const std::string & getStatSubId () const
 Return the Statistic SubId.
 
const std::string getFullStatName () const
 Return the full Statistic name of component.stat_name.sub_id.
 
virtual std::string getELIName () const =0
 Return the ELI type of the statistic The ELI registration macro creates this function automatically for child classes.
 
virtual const std::string & getStatTypeName () const
 Return the Statistic type name.
 
const StatisticFieldInfo::fieldType_t & getStatDataType () const
 Return the Statistic data type.
 
const char * getStatDataTypeShortName () const
 Return the Statistic data type.
 
const char * getStatDataTypeFullName () const
 Return the Statistic data type.
 
BaseComponentgetComponent () const
 Return a pointer to the parent Component.
 
bool isEnabled () const
 Return the enable status of the Statistic.
 
bool getStartAtFlag ()
 Return the rate at which the statistic should be output. More...
 
void setStartAtFlag ()
 
void unsetStartAtFlag ()
 
bool getStopAtFlag ()
 Manage StopAt flag.
 
void setStopAtFlag ()
 
void unsetStopAtFlag ()
 
bool getOutputRateFlag ()
 Manage OutputRate flag.
 
void setOutputRateFlag ()
 
void unsetOutputRateFlag ()
 
SimTime_t getStartAtFactor ()
 
SimTime_t getStopAtFactor ()
 
SimTime_t getOutputRateFactor ()
 
uint64_t getCollectionCountLimit () const
 Return the collection count limit.
 
uint64_t getCollectionCount () const
 Return the current collection count.
 
bool getFlagResetCountOnOutput () const
 Return the ResetCountOnOutput flag value.
 
bool getFlagClearDataOnOutput () const
 Return the ClearDataOnOutput flag value.
 
bool getFlagOutputAtEndOfSim () const
 Return the OutputAtEndOfSim flag value.
 
bool isOutputPeriodic () const
 Return the collection mode that is registered.
 
bool isOutputEventBased () const
 
virtual bool isReady () const
 Indicate that the Statistic is Ready to be used.
 
virtual bool isNullStatistic () const
 Indicate if the Statistic is a NullStatistic.
 
void serializeStat (SST::Core::Serialization::serializer &ser)
 
BaseComponentdeserializeComponentPtr (SST::Core::Serialization::serializer &ser)
 

Static Public Member Functions

static fieldType_t fieldId ()
 
- Static Public Member Functions inherited from SST::Statistics::StatisticBase
static const std::vector< ElementInfoParam > & ELI_getParams ()
 

Protected Member Functions

 Statistic (BaseComponent *comp, const std::string &stat_name, const std::string &stat_sub_id, Params &stat_params)
 Construct a Statistic. More...
 
- Protected Member Functions inherited from SST::Statistics::StatisticBase
 StatisticBase (BaseComponent *comp, const std::string &stat_name, const std::string &stat_sub_id, Params &stat_params)
 Construct a StatisticBase. More...
 
void setStatisticDataType (const StatisticFieldInfo::fieldType_t data_type)
 Set the Statistic Data Type.
 
void setStatisticTypeName (const char *type_name)
 Set an optional Statistic Type Name (for output)
 

Friends

class SST::Factory
 
class SST::BaseComponent
 

Detailed Description

template<typename T>
class SST::Statistics::Statistic< T >

Forms the template defined base class for statistics gathering within SST.

Template Parameters
TA template for the basic numerical data stored by this Statistic

Constructor & Destructor Documentation

◆ Statistic()

template<typename T>
SST::Statistics::Statistic< T >::Statistic ( BaseComponent comp,
const std::string &  stat_name,
const std::string &  stat_sub_id,
Params stat_params 
)
inlineprotected

Construct a Statistic.

Parameters
comp- Pointer to the parent constructor.
stat_name- Name of the statistic to be registered. This name must match the name in the ElementInfoStatistic.
stat_sub_id- Additional name of the statistic
stat_params- The parameters for this statistic

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