14#ifndef SST_CORE_CONFIGCSTATISTIC_H
15#define SST_CORE_CONFIGCSTATISTIC_H
17#include "sst/core/params.h"
18#include "sst/core/serialization/serializable.h"
19#include "sst/core/sst_types.h"
20#include "sst/core/statapi/statbase.h"
21#include "sst/core/statapi/statoutput.h"
33using namespace SST::Statistics;
48 ConfigStatistic(StatisticId_t _id,
bool _shared =
false, std::string _name =
"") :
64 inline const StatisticId_t& getId()
const {
return id; }
66 void addParameter(
const std::string& key,
const std::string& value,
bool overwrite);
68 void serialize_order(SST::Core::Serialization::serializer& ser)
override
76 ImplementSerializable(ConfigStatistic)
78 static constexpr StatisticId_t stat_null_id = std::numeric_limits<StatisticId_t>::max();
85 std::map<std::string, Params> statMap;
86 std::vector<ComponentId_t> components;
90 explicit ConfigStatGroup(
const std::string& name) :
96 bool addComponent(ComponentId_t
id);
97 bool addStatistic(
const std::string& name,
Params& p);
98 bool setOutput(
size_t id);
99 bool setFrequency(
const std::string& freq);
114 SST_SER(outputFrequency);
126 explicit ConfigStatOutput(
const std::string& type) :
129 ConfigStatOutput() {}
131 void addParameter(
const std::string& key,
const std::string& val) { params.insert(key, val); }
144 std::map<std::string, ConfigStatGroup> groups;
145 std::vector<ConfigStatOutput> outputs;
A Configuration Graph A graph representing Components and Links.
Definition configGraph.h:76
Represents the configuration of a generic Link.
Definition configLink.h:37
Definition configStatistic.h:82
std::pair< bool, std::string > verifyStatsAndComponents(const ConfigGraph *graph)
Checks to make sure that all components in the group support all of the statistics as configured in t...
Definition configStatistic.cc:81
Definition configStatistic.h:121
Definition configStatistic.h:41
StatisticId_t id
Definition configStatistic.h:43
Definition serializable.h:25
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:43
Parameter store.
Definition params.h:65
Performs Unit math in full precision.
Definition unitAlgebra.h:107
Definition configStatistic.h:143