1 #ifndef GAUDISVC_CHRONOSTATSVC_H__
2 #define GAUDISVC_CHRONOSTATSVC_H__
15 #include "GaudiKernel/Kernel.h"
16 #include "GaudiKernel/Service.h"
17 #include "GaudiKernel/IChronoStatSvc.h"
18 #include "GaudiKernel/IIncidentListener.h"
38 typedef std::map<IChronoStatSvc::ChronoTag,ChronoEntity>
ChronoMap ;
39 typedef std::map<IChronoStatSvc::StatTag,StatEntity>
StatMap ;
54 (
const IChronoStatSvc::ChronoTag& chronoTag )
override;
60 (
const IChronoStatSvc::ChronoTag& chronoTag )
override;
66 (
const IChronoStatSvc::ChronoTag& chronoTag,
67 IChronoStatSvc::ChronoType theType )
override;
73 (
const IChronoStatSvc::ChronoTag& chronoTag )
override;
79 (
const IChronoStatSvc::ChronoTag& chronoTag )
override;
86 (
const IChronoStatSvc::StatTag & statTag ,
87 const IChronoStatSvc::StatFlag & statFlag )
override;
94 (
const IChronoStatSvc::ChronoTag& statTag)
override;
102 (
const IChronoStatSvc::ChronoTag& t )
const override;
110 (
const IChronoStatSvc::StatTag& t )
const override;
191 typedef std::map<ChronoTag, std::vector<IChronoSvc::ChronoTime> >
TimeMap;
201 #endif // GAUDISVC_CHRONOSTATSVC_H
ChronoStatSvc & operator=(const ChronoStatSvc &)=delete
bool m_useEffFormat
flag to use the special "efficiency" format
int m_intStatPrintLevel
level of info printing
bool m_chronoOrderFlag
flag for formattion the final statistic table
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
bool m_printUserTime
flag for printing User quantities
virtual ChronoStatus chronoStatus(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStatus.
StatMap m_statEntities
stat part
bool m_printEllapsedTime
flag for printing Ellapsed quantities
a small helper class for implementation of ChronoStatSvc service, It also could be used as some local...
std::string m_header
the header row
virtual IChronoStatSvc::ChronoTime chronoDelta(const IChronoStatSvc::ChronoTag &chronoTag, IChronoStatSvc::ChronoType theType) override
Implementation of IchronoStatSvc::chronoDelta.
StringProperty m_statsOutFileName
Name of the output file where we'll dump the stats.
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.
virtual void statPrint(const IChronoStatSvc::ChronoTag &statTag) override
prints (using message service) info about statistical entity, tagged by its name
long m_numberOfSkippedEventsForMemStat
std::string m_format2
format for "efficiency" statistical printout rows
bool m_chronoTableFlag
flag for printing the final table
int m_intChronoPrintLevel
level of info printing
void merge(const ChronoStatSvc &css)
Compound assignment operator.
std::map< ChronoTag, std::vector< IChronoSvc::ChronoTime > > TimeMap
void saveStats()
dump the statistics into an ASCII file for offline processing
bool m_statOrderFlag
flag for formattion the final statistic table
This class is used for returning status codes from appropriate routines.
The IMessage is the interface implemented by the message service.
virtual const ChronoEntity * chronoStop(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStop.
~ChronoStatSvc() override=default
Destructor.
bool m_statTableFlag
flag for printing the final table
std::map< IChronoStatSvc::ChronoTag, ChronoEntity > ChronoMap
some useful typedefs
MSG::Level m_chronoPrintLevel
StatusCode initialize() override
Implementation of IService::initialize()
bool m_statCoutFlag
flag for destination of the t he final table
bool m_printSystemTime
flag for printing System quantities
Base class used to extend a class implementing other interfaces.
void handle(const Incident &incident) override
Base class for all Incidents (computing events).
virtual ChronoEntity * chronoStart(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoStart.
std::string m_perEventFile
MSG::Level m_statPrintLevel
bool m_chronoCoutFlag
flag for destination of the the final table
The basic counter used for Monitoring purposes.
virtual void chronoPrint(const IChronoStatSvc::ChronoTag &chronoTag) override
Implementation of IChronoStatSvc::chronoPrint.
std::string m_format1
format for regular statistical printout rows
The Chrono & Stat Sservice: service implements the IChronoStatSvc interface and provides the basic ch...
std::map< IChronoStatSvc::StatTag, StatEntity > StatMap
ChronoMap m_chronoEntities
chrono part
StatusCode finalize() override
Implementation of IService::finalize()
virtual const ChronoEntity * chrono(const IChronoStatSvc::ChronoTag &t) const override
extract the chrono entity for the given tag (name)