12#ifndef SST_CORE_STATAPI_STATOUTPUTCSV_H
13#define SST_CORE_STATAPI_STATOUTPUTCSV_H
15#include "sst/core/sst_types.h"
16#include "sst/core/statapi/statoutput.h"
27namespace SST::Statistics {
37 SST_ELI_REGISTER_DERIVED(
42 SST_ELI_ELEMENT_VERSION(1,0,0),
43 "Output directly to console screen"
46 SST_ELI_DOCUMENT_PARAMS(
47 {
"separator",
"Field separator",
", "},
48 {
"filepath",
"Filepath for the output file",
"./StatisticOutput.csv"},
49 {
"outputtopheader",
"Whether to print a header at the top of the CSV output",
"True" },
50 {
"outputsimtime",
"Whether to print the simulation time in the output",
"True" },
51 {
"outputrank",
"Whether to print the rank in the output",
"True" }
57 explicit StatisticOutputCSV(
Params& outputParameters);
99 void outputField(fieldHandle_t fieldHandle, int32_t data)
override;
100 void outputField(fieldHandle_t fieldHandle, uint32_t data)
override;
101 void outputField(fieldHandle_t fieldHandle, int64_t data)
override;
102 void outputField(fieldHandle_t fieldHandle, uint64_t data)
override;
103 void outputField(fieldHandle_t fieldHandle,
float data)
override;
104 void outputField(fieldHandle_t fieldHandle,
double data)
override;
115 int print(
const char* fmt, ...) __attribute__((format(printf, 2, 3)));
122 std::vector<std::string> m_OutputBufferArray;
123 std::string m_Separator;
124 std::string m_FilePath;
125 std::string m_currentComponentName;
126 std::string m_currentStatisticName;
127 std::string m_currentStatisticSubId;
128 std::string m_currentStatisticType;
129 bool m_outputTopHeader;
130 bool m_outputSimTime;
132 bool m_useCompression;
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 comma separated file.
Definition statoutputcsv.h:35
void implStartOutputEntries(StatisticBase *statistic) override
Implementation function for the start of output.
Definition statoutputcsv.cc:137
void outputField(fieldHandle_t fieldHandle, int32_t data) override
Implementation functions for output.
Definition statoutputcsv.cc:193
virtual bool acceptsGroups() const override
True if this StatOutput can handle StatisticGroups.
Definition statoutputcsv.h:107
ImplementSerializable(SST::Statistics::StatisticOutputCSV) protected void startOfSimulation() override
Perform a check of provided parameters.
Definition statoutputcsv.cc:61
void endOfSimulation() override
Indicate to Statistic Output that simulation ended.
Definition statoutputcsv.cc:130
void implStopOutputEntries() override
Implementation function for the end of output.
Definition statoutputcsv.cc:153
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.