The Gaudi Framework  v30r3 (a5ef0a68)
IChronoSvc Class Referenceabstract

"Chrono"-related part of interface IChronoStatSvc More...

#include <GaudiKernel/IChronoSvc.h>

Inheritance diagram for IChronoSvc:
Collaboration diagram for IChronoSvc:

Public Types

enum  ChronoStatus { UNKNOWN = 0, RUNNING, STOPPED }
 
enum  ChronoType { USER = 0, KERNEL, ELAPSED }
 
typedef std::string ChronoTag
 the actual type of identifier for Chrono objects More...
 
typedef double ChronoTime
 Type of the delta-time. More...
 
- Public Types inherited from IInterface
enum  Status : StatusCode::code_t {
  Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH,
  Status::LAST_ERROR
}
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 

Public Member Functions

 DeclareInterfaceID (IChronoSvc, 3, 0)
 InterfaceID. More...
 
virtual ChronoEntitychronoStart (const ChronoTag &t)=0
 start chrono, tagged by its name More...
 
virtual const ChronoEntitychronoStop (const ChronoTag &t)=0
 stop chrono, tagged by its name More...
 
virtual ChronoTime chronoDelta (const ChronoTag &t, ChronoType f)=0
 return chrono delta time of last start/stop pair More...
 
virtual void chronoPrint (const ChronoTag &t)=0
 prints (using message service) info about chrono, tagged by its name More...
 
virtual ChronoStatus chronoStatus (const ChronoTag &t)=0
 return the status of named chrono More...
 
virtual const ChronoEntitychrono (const ChronoTag &t) const =0
 extract the chrono entity for the given tag (name) More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

"Chrono"-related part of interface IChronoStatSvc

The IChronoSvc is the interface implemented by the ChronoStatService. This interface is used by any algorithm or services wanting to study its own performance and CPU consumption and some statistical computation

Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u (inspired by Mauro VILLA's codes used within ARTE framework )
Date
December 1, 1999
2007-07-08

Definition at line 31 of file IChronoSvc.h.

Member Typedef Documentation

the actual type of identifier for Chrono objects

Definition at line 38 of file IChronoSvc.h.

typedef double IChronoSvc::ChronoTime

Type of the delta-time.

Definition at line 41 of file IChronoSvc.h.

Member Enumeration Documentation

Enumerator
UNKNOWN 
RUNNING 
STOPPED 

Definition at line 46 of file IChronoSvc.h.

Enumerator
USER 
KERNEL 
ELAPSED 

Definition at line 48 of file IChronoSvc.h.

Member Function Documentation

virtual const ChronoEntity* IChronoSvc::chrono ( const ChronoTag t) const
pure virtual

extract the chrono entity for the given tag (name)

Parameters
tchrono tag(name)
Returns
pointer to chrono entity
virtual ChronoTime IChronoSvc::chronoDelta ( const ChronoTag t,
ChronoType  f 
)
pure virtual

return chrono delta time of last start/stop pair

Parameters
tchrono tag (name)
fchtono type
Returns
delta time
virtual void IChronoSvc::chronoPrint ( const ChronoTag t)
pure virtual

prints (using message service) info about chrono, tagged by its name

Parameters
tchrono tag (name)
Returns
status code
virtual ChronoEntity* IChronoSvc::chronoStart ( const ChronoTag t)
pure virtual

start chrono, tagged by its name

Parameters
tchrono tag (name)
Returns
chrono object
virtual ChronoStatus IChronoSvc::chronoStatus ( const ChronoTag t)
pure virtual

return the status of named chrono

Parameters
tchrono tag (name)
Returns
chrono status
virtual const ChronoEntity* IChronoSvc::chronoStop ( const ChronoTag t)
pure virtual

stop chrono, tagged by its name

Parameters
tchrono tag (name)
Returns
status code
IChronoSvc::DeclareInterfaceID ( IChronoSvc  ,
,
 
)

The documentation for this class was generated from the following file: