1 #ifndef GAUDISVC_CHRONOSTATSVC_H__ 2 #define GAUDISVC_CHRONOSTATSVC_H__ 63 virtual IChronoStatSvc::ChronoTime
chronoDelta(
const IChronoStatSvc::ChronoTag& chronoTag,
64 IChronoStatSvc::ChronoType theType )
override;
69 virtual void chronoPrint(
const IChronoStatSvc::ChronoTag& chronoTag )
override;
74 virtual ChronoStatus
chronoStatus(
const IChronoStatSvc::ChronoTag& chronoTag )
override;
80 virtual void stat(
const IChronoStatSvc::StatTag& statTag,
const IChronoStatSvc::StatFlag& statFlag )
override;
86 virtual void statPrint(
const IChronoStatSvc::ChronoTag& statTag )
override;
93 virtual const ChronoEntity*
chrono(
const IChronoStatSvc::ChronoTag& t )
const override;
100 virtual const StatEntity*
stat(
const IChronoStatSvc::StatTag& t )
const override;
144 "decide if the final printout should be performed"};
146 "define the destination of the table to be printed"};
153 "decide if the final printout should be performed"};
155 "define the destination of the table to be printed"};
160 this,
"NumberOfSkippedEventsForMemStat", -1,
161 "specify the number of events to be skipped by the memory auditor in order to better spot memory leak"};
164 this,
"AsciiStatsOutputFile",
"",
165 "Name of the output file storing the stats. If empty, no statistics will be saved (default)"};
168 this,
"StatTableHeader",
169 " Counter | # | sum | mean/eff^* | rms/err^* | min | max |",
170 "The header row for the output Stat-table"};
172 this,
"RegularRowFormat",
" %|-15.15s|%|17t||%|10d| |%|11.7g| |%|#11.5g| |%|#11.5g| |%|#12.5g| |%|#12.5g| |",
173 "The format for the regular row in the output Stat-table"};
175 this,
"EfficiencyRowFormat",
176 "*%|-15.15s|%|17t||%|10d| |%|11.5g| |(%|#9.7g| +- %|-#9.7g|)%%| ------- | ------- |",
177 "The format for the regular row in the output Stat-table"};
179 "Use the special format for printout of efficiency counters"};
192 #endif // GAUDISVC_CHRONOSTATSVC_H Gaudi::Property< int > m_intStatPrintLevel
ChronoStatSvc & operator=(const ChronoStatSvc &)=delete
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
const std::string & name() const override
Retrieve name of the service.
virtual ChronoStatus chronoStatus(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStatus.
Gaudi::Property< std::string > m_header
Implementation of property with value of concrete type.
StatMap m_statEntities
stat part
a small helper class for implementation of ChronoStatSvc service, It also could be used as some local...
Gaudi::Property< bool > m_statCoutFlag
virtual IChronoStatSvc::ChronoTime chronoDelta(const IChronoStatSvc::ChronoTag &chronoTag, IChronoStatSvc::ChronoType theType) override
Implementation of IchronoStatSvc::chronoDelta.
Gaudi::Property< long > m_numberOfSkippedEventsForMemStat
Gaudi::Property< bool > m_chronoOrderFlag
Gaudi::Property< bool > m_printUserTime
virtual void stat(const IChronoStatSvc::StatTag &statTag, const IChronoStatSvc::StatFlag &statFlag) override
Implementation of IChronoStatSvc::stat add statistical information to the entity , tagged by its name.
std::map< IChronoStatSvc::ChronoTag, ChronoEntity > ChronoMap
some useful typedefs
virtual void statPrint(const IChronoStatSvc::ChronoTag &statTag) override
prints (using message service) info about statistical entity, tagged by its name
virtual const ChronoEntity * chrono(const IChronoStatSvc::ChronoTag &t) const override
extract the chrono entity for the given tag (name)
void merge(const ChronoStatSvc &css)
Compound assignment operator.
std::map< ChronoTag, std::vector< IChronoSvc::ChronoTime > > TimeMap
Gaudi::Property< bool > m_useEffFormat
void saveStats()
dump the statistics into an ASCII file for offline processing
Gaudi::Property< int > m_intChronoPrintLevel
This class is used for returning status codes from appropriate routines.
Gaudi::Property< std::string > m_format2
The IMessage is the interface implemented by the message service.
virtual const ChronoEntity * chronoStop(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStop.
Gaudi::Property< bool > m_statOrderFlag
~ChronoStatSvc() override=default
Destructor.
Gaudi::Property< bool > m_chronoTableFlag
Gaudi::Property< std::string > m_format1
MSG::Level m_chronoPrintLevel
level of info printing
StatusCode initialize() override
Implementation of IService::initialize()
Gaudi::Property< bool > m_printEllapsedTime
Base class used to extend a class implementing other interfaces.
void handle(const Incident &incident) override
Gaudi::Property< bool > m_statTableFlag
Base class for all Incidents (computing events).
virtual ChronoEntity * chronoStart(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStart.
Gaudi::Property< std::string > m_statsOutFileName
MSG::Level m_statPrintLevel
level of info printing
Gaudi::Property< bool > m_chronoCoutFlag
The basic counter used for Monitoring purposes.
virtual void chronoPrint(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoPrint.
std::map< IChronoStatSvc::StatTag, StatEntity > StatMap
The Chrono & Stat Sservice: service implements the IChronoStatSvc interface and provides the basic ch...
ChronoMap m_chronoEntities
chrono part
Gaudi::Property< bool > m_printSystemTime
StatusCode finalize() override
Implementation of IService::finalize()
Gaudi::Property< std::string > m_perEventFile