1 #ifndef GAUDISVC_CHRONOSTATSVC_H__
2 #define GAUDISVC_CHRONOSTATSVC_H__
38 typedef std::map<IChronoStatSvc::ChronoTag,ChronoEntity>
ChronoMap ;
39 typedef std::map<IChronoStatSvc::StatTag,StatEntity>
StatMap ;
191 typedef std::map<ChronoTag, std::vector<IChronoSvc::ChronoTime> >
TimeMap;
201 #endif // GAUDISVC_CHRONOSTATSVC_H
bool m_useEffFormat
flag to use the special "efficiency" format
int m_intStatPrintLevel
level of info printing
virtual StatusCode initialize()
Implementation of IService::initialize()
void handle(const Incident &incident)
Inform that a new incident has occurred.
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)
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...
double StatFlag
the actual value type used for Stat
std::string m_header
the header row
ChronoStatSvc & operator=(const ChronoStatSvc &)
StringProperty m_statsOutFileName
Name of the output file where we'll dump the stats.
virtual void statPrint(const IChronoStatSvc::ChronoTag &statTag)
prints (using message service) info about statistical entity, tagged by its name
Base class used to extend a class implementing other interfaces.
long m_numberOfSkippedEventsForMemStat
std::string m_format2
format for "efficiency" statistical printout rows
bool m_chronoTableFlag
flag for printing the final table
virtual const ChronoEntity * chronoStop(const IChronoStatSvc::ChronoTag &chronoTag)
Implementation of IChronoStatSvc::chronoStop.
int m_intChronoPrintLevel
level of info printing
virtual void stat(const IChronoStatSvc::StatTag &statTag, const IChronoStatSvc::StatFlag &statFlag)
Implementation of IChronoStatSvc::stat add statistical information to the entity , tagged by its name.
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.
std::string ChronoTag
the actual type of identifier for Chrono objects
The IMessage is the interface implemented by the message service.
virtual ~ChronoStatSvc()
Destructor.
virtual const ChronoEntity * chrono(const IChronoStatSvc::ChronoTag &t) const
extract the chrono entity for the given tag (name)
bool m_statTableFlag
flag for printing the final table
virtual const std::string & name() const
Retrieve name of the service.
std::map< IChronoStatSvc::ChronoTag, ChronoEntity > ChronoMap
some useful typedefs
MSG::Level m_chronoPrintLevel
virtual void chronoPrint(const IChronoStatSvc::ChronoTag &chronoTag)
Implementation of IChronoStatSvc::chronoPrint.
double ChronoTime
Type of the delta-time.
bool m_statCoutFlag
flag for destination of the t he final table
bool m_printSystemTime
flag for printing System quantities
Base class for all Incidents (computing events).
std::string m_perEventFile
virtual IChronoStatSvc::ChronoTime chronoDelta(const IChronoStatSvc::ChronoTag &chronoTag, IChronoStatSvc::ChronoType theType)
Implementation of IchronoStatSvc::chronoDelta.
virtual StatusCode finalize()
Implementation of IService::finalize()
virtual ChronoEntity * chronoStart(const IChronoStatSvc::ChronoTag &chronoTag)
Implementation of IChronoStatSvc::chronoStart.
MSG::Level m_statPrintLevel
bool m_chronoCoutFlag
flag for destination of the the final table
The basic counter used for Monitoring purposes.
std::string StatTag
the actual identificator of Stat
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