12#ifndef SST_CORE_STATAPI_STATOUTPUTJSON_H
13#define SST_CORE_STATAPI_STATOUTPUTJSON_H
15#include "sst/core/sst_types.h"
16#include "sst/core/statapi/statoutput.h"
22namespace SST::Statistics {
32 SST_ELI_REGISTER_DERIVED(
37 SST_ELI_ELEMENT_VERSION(1,0,0),
38 "Output to a JSON file")
40 SST_ELI_DOCUMENT_PARAMS(
41 {
"filepath",
"Filepath for the output file",
"./StatisticOutput.json"},
42 {
"outputsimtime",
"Whether to print the simulation time in the output",
"True" },
43 {
"outputrank",
"Whether to print the rank in the output",
"True" }
49 explicit StatisticOutputJSON(
Params& outputParameters);
91 void outputField(fieldHandle_t fieldHandle, int32_t data)
override;
92 void outputField(fieldHandle_t fieldHandle, uint32_t data)
override;
93 void outputField(fieldHandle_t fieldHandle, int64_t data)
override;
94 void outputField(fieldHandle_t fieldHandle, uint64_t data)
override;
95 void outputField(fieldHandle_t fieldHandle,
float data)
override;
96 void outputField(fieldHandle_t fieldHandle,
double data)
override;
101 StatisticOutputJSON() :
102 m_currentComponentName(
""),
104 m_processedAnyStats(false),
116 std::string m_FilePath;
117 std::string m_currentComponentName;
118 std::string m_currentStatisticName;
119 std::string m_currentStatisticSubId;
120 std::string m_currentStatisticType;
121 bool m_outputSimTime;
125 bool m_processedAnyStats;
126 int m_curIndentLevel;
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
Forms the base class for statistics gathering within SST.
Definition statbase.h:51
ImplementVirtualSerializable(SST::Statistics::StatisticFieldsOutput) protected StatisticFieldsOutput()
Construct a base StatisticOutput.
Definition statoutput.h:294
The class for statistics output to a JSON formatted file.
Definition statoutputjson.h:30
ImplementSerializable(SST::Statistics::StatisticOutputJSON) protected void startOfSimulation() override
Perform a check of provided parameters.
Definition statoutputjson.cc:57
void implStopOutputEntries() override
Implementation function for the end of output.
Definition statoutputjson.cc:152
void endOfSimulation() override
Indicate to Statistic Output that simulation ended.
Definition statoutputjson.cc:78
void implStartOutputEntries(StatisticBase *statistic) override
Implementation function for the start of output.
Definition statoutputjson.cc:100
void outputField(fieldHandle_t fieldHandle, int32_t data) override
Implementation functions for output.
Forms the base class for statistics output generation within the SST core.
Definition statoutput.h:54
virtual bool checkOutputParameters()=0
Have the Statistic Output check its parameters.