X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fstatistics%2FAccumulator.cpp;h=358c87ccb94181fe934fae6dc6869d47b60e828e;hb=983eaadca6cfae987be3453853d75bb9bce04487;hp=3753ed7b2bcb481b8197049ce5ca52e759393ec5;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git diff --git a/source/statistics/Accumulator.cpp b/source/statistics/Accumulator.cpp index 3753ed7..358c87c 100644 --- a/source/statistics/Accumulator.cpp +++ b/source/statistics/Accumulator.cpp @@ -34,21 +34,13 @@ using namespace anna::time; //****************************************************************************** //------------------------------------------------------------------------------ -//--------------------------------------------------- Accumulator::Accumulator() +//-------------------------------------------------- Accumulator::~Accumulator() //------------------------------------------------------------------------------ - -// Default Constructor -Accumulator::Accumulator() { - //reset (); no sense -} - - Accumulator::~Accumulator() { // LOGMETHOD (TraceMethod tttm ("anna::statistics::Accumulator", "Destructor", ANNA_FILE_LOCATION)); + // TODO: anna::statistics::Engine::instantiate().releaseAccumulator(a_name); } - - // Private functions: @@ -62,6 +54,17 @@ void Accumulator::initialize(const int & conceptId) throw() { } +//------------------------------------------------------------------------------ +//---------------------------------------------------- Accumulator::addConcept() +//------------------------------------------------------------------------------ +int Accumulator::addConcept(const std::string & description, const std::string & unit, const bool & integerNatureSample) throw() { + std::string conceptName = description; + conceptName += ": "; + conceptName += a_name; + return anna::statistics::Engine::instantiate().addConcept(conceptName, unit, integerNatureSample); +} + + //------------------------------------------------------------------------------ //---------------------------------------------------- Accumulator::getConcept() //------------------------------------------------------------------------------ @@ -145,7 +148,7 @@ void Accumulator::process(const int & conceptId, const double & value) throw(ann _concept_data_t *ptr_auxConceptData = getConcept(conceptId); anna::Millisecond current = anna::Millisecond::getTime(); // Optional sample file dump: - Engine::instantiate().logSample(conceptId, current, value); + Engine::instantiate().logSample(conceptId, current, value); // Accumulator is friend of Engine // Statistics calculations if(ptr_auxConceptData->Size == ULLONG_MAX) // Statistics is better during processing until reset @@ -289,6 +292,8 @@ std::string Accumulator::asString(const int & numberOfDecimals) const throw() { trace = "\n====================="; trace += "\nStatistic Information"; trace += "\n====================="; + trace += "\nAccumulator name: "; + trace += a_name; trace += "\nCurrent Time: "; trace += time_now.asString(); @@ -370,6 +375,7 @@ std::string Accumulator::asString(const int & numberOfDecimals) const throw() { //------------------------------------------------------------------------------ anna::xml::Node* Accumulator::asXML(anna::xml::Node* parent, const int & numberOfDecimals) const throw() { anna::xml::Node* result = parent->createChild("anna.statistics.Accumulator"); + result->createAttribute("Name", a_name); _concept_data_map_iter iter; _concept_data_map_iter iter_min(a_concept_data_map.begin()); _concept_data_map_iter iter_max(a_concept_data_map.end());