Gaudi Framework, version v23r5
Home
Generated: Wed Nov 28 2012
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
GaudiCommonSvc
src
ChronoStatSvc.h
Go to the documentation of this file.
1
// $Id: ChronoStatSvc.h,v 1.13 2008/05/13 12:37:19 marcocle Exp $
2
// ============================================================================
3
// CVS tag $Name: $, version $Revision: 1.13 $
4
// ============================================================================
5
#ifndef GAUDISVC_CHRONOSTATSVC_H__
6
#define GAUDISVC_CHRONOSTATSVC_H__
7
// ============================================================================
8
// include files
9
// ============================================================================
10
// STD & STL
11
// ============================================================================
12
#include <
string
>
13
#include <
map
>
14
#include <
functional
>
15
// ============================================================================
16
// GaudiKernel
17
// ============================================================================
18
#include "
GaudiKernel/SvcFactory.h
"
19
#include "
GaudiKernel/Kernel.h
"
20
#include "
GaudiKernel/Service.h
"
21
#include "
GaudiKernel/IChronoStatSvc.h
"
22
// ============================================================================
24
// ============================================================================
25
class
ISvcLocator
;
26
class
IMessageSvc
;
27
// ============================================================================
36
class
ChronoStatSvc
:
public
extends1
<Service, IChronoStatSvc> {
37
public
:
38
// ============================================================================
40
typedef
std::map<IChronoStatSvc::ChronoTag,ChronoEntity>
ChronoMap
;
41
typedef
std::map<IChronoStatSvc::StatTag,StatEntity>
StatMap
;
42
// ============================================================================
43
public
:
44
// ============================================================================
46
virtual
StatusCode
initialize
();
48
virtual
StatusCode
finalize
();
49
// ============================================================================
50
public
:
51
// ============================================================================
55
virtual
ChronoEntity
*
chronoStart
56
(
const
IChronoStatSvc::ChronoTag
& chronoTag );
57
// ============================================================================
61
virtual
const
ChronoEntity
*
chronoStop
62
(
const
IChronoStatSvc::ChronoTag
& chronoTag );
63
// ============================================================================
67
virtual
IChronoStatSvc::ChronoTime
chronoDelta
68
(
const
IChronoStatSvc::ChronoTag
& chronoTag,
69
IChronoStatSvc::ChronoType
theType );
70
// ============================================================================
74
virtual
void
chronoPrint
75
(
const
IChronoStatSvc::ChronoTag
& chronoTag );
76
// ============================================================================
80
virtual
ChronoStatus
chronoStatus
81
(
const
IChronoStatSvc::ChronoTag
& chronoTag );
82
// ============================================================================
87
virtual
void
stat
88
(
const
IChronoStatSvc::StatTag
& statTag ,
89
const
IChronoStatSvc::StatFlag
& statFlag ) ;
90
// ============================================================================
95
virtual
void
statPrint
96
(
const
IChronoStatSvc::ChronoTag
& statTag) ;
97
// ============================================================================
103
virtual
const
ChronoEntity
*
chrono
104
(
const
IChronoStatSvc::ChronoTag
& t )
const
;
105
// ============================================================================
111
virtual
const
StatEntity
*
stat
112
(
const
IChronoStatSvc::StatTag
& t )
const
;
113
// ============================================================================
118
ChronoStatSvc
(
const
std::string
&
name
,
ISvcLocator
* svcloc );
120
virtual
~ChronoStatSvc
();
121
// ============================================================================
122
protected
:
123
// ============================================================================
124
// print the "Stat" part of the ChronoStatSvc
125
void
printStats
() ;
126
// ============================================================================
127
private
:
128
// ============================================================================
129
// default constructor is disabled
130
ChronoStatSvc
() ;
131
// copy constructor is disabled
132
ChronoStatSvc
(
const
ChronoStatSvc
& ) ;
133
// assignement operator constructor is disabled
134
ChronoStatSvc
&
operator=
(
const
ChronoStatSvc
& ) ;
135
// ============================================================================
137
void
saveStats
();
138
// ============================================================================
139
private
:
140
// ============================================================================
142
ChronoMap
m_chronoEntities
;
144
int
m_intChronoPrintLevel
;
145
MSG::Level
m_chronoPrintLevel
;
147
bool
m_chronoTableFlag
;
149
bool
m_chronoCoutFlag
;
151
bool
m_chronoOrderFlag
;
153
bool
m_printUserTime
;
155
bool
m_printSystemTime
;
157
bool
m_printEllapsedTime
;
158
159
// property
160
long
m_numberOfSkippedEventsForMemStat
;
161
163
StatMap
m_statEntities
;
164
166
int
m_intStatPrintLevel
;
167
MSG::Level
m_statPrintLevel
;
169
bool
m_statTableFlag
;
171
bool
m_statCoutFlag
;
173
bool
m_statOrderFlag
;
175
177
StringProperty
m_statsOutFileName
;
178
179
// the header row
180
std::string
m_header
;
181
// format for regular statistical printout rows
182
std::string
m_format1
;
183
// format for "efficiency" statistical printout rows
184
std::string
m_format2
;
185
// flag to use the special "efficiency" format
186
bool
m_useEffFormat
;
187
// ============================================================================
188
};
189
// ============================================================================
190
// The END
191
// ============================================================================
192
#endif // GAUDISVC_CHRONOSTATSVC_H
193
// ============================================================================
194
195
Generated at Wed Nov 28 2012 12:17:10 for Gaudi Framework, version v23r5 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004