The Gaudi Framework  v33r1 (b1225454)
ChronoEntity Class Reference

a small helper class for implementation of ChronoStatSvc service, It also could be used as some local timer More...

#include <GaudiKernel/ChronoEntity.h>

Collaboration diagram for ChronoEntity:

Public Member Functions

 ChronoEntity ()=default
 default constructor More...
 
IChronoSvc::ChronoStatus start ()
 start the current chrono More...
 
IChronoSvc::ChronoStatus stop ()
 stop the chrono More...
 
IChronoSvc::ChronoTime delta (IChronoSvc::ChronoType type) const
 return the last delta-time of type "type" More...
 
IChronoSvc::ChronoStatus status () const
 return the status of chrono More...
 
unsigned long nOfMeasurements () const
 number of chrono measurements More...
 
double uMinimalTime () const
 minimal measurement for user time More...
 
double kMinimalTime () const
 minimal measurement for kernel time More...
 
double eMinimalTime () const
 minimal measurement for elapsed time More...
 
double uMaximalTime () const
 maximal measurement for user time More...
 
double kMaximalTime () const
 maximal measurement for kernel time More...
 
double eMaximalTime () const
 maximal measurement for elapsed time More...
 
double uTotalTime () const
 total user time More...
 
double kTotalTime () const
 total Kernel time More...
 
double eTotalTime () const
 total Elapsed time More...
 
double totalTime () const
 total time More...
 
double kMeanTime () const
 average Kernel Time More...
 
double uMeanTime () const
 average User Time More...
 
double eMeanTime () const
 average Elapsed Time More...
 
double kRMSTime () const
 r.m.s Kernel Time More...
 
double uRMSTime () const
 r.m.s User Time More...
 
double eRMSTime () const
 r.m.s Elapsed Time More...
 
double kMeanErrorTime () const
 error in mean Kernel time More...
 
double uMeanErrorTime () const
 error in mean User time More...
 
double eMeanErrorTime () const
 error in mean Elapsed time More...
 
ChronoEntityoperator+= (const ChronoEntity &entity)
 Compound assignment operator. More...
 
std::string outputUserTime () const
 print the chrono ; More...
 
std::string outputSystemTime () const
 print the chrono ; More...
 
std::string outputElapsedTime () const
 print the chrono ; More...
 
std::string outputUserTime (std::string_view fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputSystemTime (std::string_view fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputElapsedTime (std::string_view fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputTime (IChronoSvc::ChronoType typ, std::string_view fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 

Protected Member Functions

std::string format (const double total, const double minimal, const double mean, const double rms, const double maximal, const unsigned long number) const
 format More...
 

Private Attributes

IChronoSvc::ChronoStatus m_status = IChronoSvc::UNKNOWN
 current status of this chrono object; More...
 
System::ProcessTime m_delta
 delta process times More...
 
System::ProcessTime m_start
 start stamp for current measurement of process times More...
 
StatEntity m_user
 the actual storage of "user" time More...
 
StatEntity m_kernel
 the actual storage of "kernel" time More...
 
StatEntity m_elapsed
 the actual storage of "elapsed" time More...
 

Static Private Attributes

static const System::TimeType TimeUnit = System::microSec
 internal unit used for the system time conversion (microseconds) More...
 

Friends

bool operator< (ChronoEntity const &lhs, ChronoEntity const &rhs)
 comparison operator More...
 

Detailed Description

a small helper class for implementation of ChronoStatSvc service, It also could be used as some local timer

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
December 1, 1999

Definition at line 31 of file ChronoEntity.h.

Constructor & Destructor Documentation

◆ ChronoEntity()

ChronoEntity::ChronoEntity ( )
default

default constructor

Member Function Documentation

◆ delta()

IChronoSvc::ChronoTime ChronoEntity::delta ( IChronoSvc::ChronoType  type) const
inline

return the last delta-time of type "type"

Definition at line 271 of file ChronoEntity.h.

271  {
272  const IChronoSvc::ChronoTime result = -1;
273  switch ( type ) {
274  case IChronoSvc::USER:
275  return m_delta.userTime<TimeUnit>();
276  case IChronoSvc::KERNEL:
277  return m_delta.kernelTime<TimeUnit>();
278  case IChronoSvc::ELAPSED:
279  return m_delta.elapsedTime<TimeUnit>();
280  default:
281  return result;
282  }
283  // cannot reach this point
284 }
TimeValueType userTime() const
Retrieve the user time in the requested unit.
Definition: Timing.h:174
TimeValueType elapsedTime() const
Retrieve the elapsed time in the requested unit.
Definition: Timing.h:180
TimeValueType kernelTime() const
Retrieve the kernel time in the requested unit.
Definition: Timing.h:168
System::ProcessTime m_delta
delta process times
Definition: ChronoEntity.h:171
double ChronoTime
Type of the delta-time.
Definition: IChronoSvc.h:49
static const System::TimeType TimeUnit
internal unit used for the system time conversion (microseconds)
Definition: ChronoEntity.h:181

◆ eMaximalTime()

double ChronoEntity::eMaximalTime ( ) const
inline

maximal measurement for elapsed time

Definition at line 215 of file ChronoEntity.h.

215 { return m_elapsed.flagMax(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagMax() const
Definition: StatEntity.h:103

◆ eMeanErrorTime()

double ChronoEntity::eMeanErrorTime ( ) const
inline

error in mean Elapsed time

Definition at line 267 of file ChronoEntity.h.

267 { return m_elapsed.flagMeanErr(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagMeanErr() const
Definition: StatEntity.h:101

◆ eMeanTime()

double ChronoEntity::eMeanTime ( ) const
inline

average Elapsed Time

Definition at line 243 of file ChronoEntity.h.

243 { return m_elapsed.flagMean(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagMean() const
Definition: StatEntity.h:99

◆ eMinimalTime()

double ChronoEntity::eMinimalTime ( ) const
inline

minimal measurement for elapsed time

Definition at line 203 of file ChronoEntity.h.

203 { return m_elapsed.flagMin(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagMin() const
Definition: StatEntity.h:102

◆ eRMSTime()

double ChronoEntity::eRMSTime ( ) const
inline

r.m.s Elapsed Time

Definition at line 255 of file ChronoEntity.h.

255 { return m_elapsed.flagRMS(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagRMS() const
Definition: StatEntity.h:100

◆ eTotalTime()

double ChronoEntity::eTotalTime ( ) const
inline

total Elapsed time

Definition at line 227 of file ChronoEntity.h.

227 { return m_elapsed.flag(); }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flag() const
Definition: StatEntity.h:97

◆ format()

std::string ChronoEntity::format ( const double  total,
const double  minimal,
const double  mean,
const double  rms,
const double  maximal,
const unsigned long  number 
) const
protected

format

Todo:
: cache the format
Todo:
: cache the format

Definition at line 113 of file ChronoEntity.cpp.

114  {
115 
117  boost::format fmt( "Tot=%2$5.3g%1$s %4$43s #=%3$3lu" );
118 
119  static const std::array<std::tuple<int, double, std::string_view>, 9> tbl{{{500, microsecond, " [us]"},
120  {500, millisecond, " [ms]"},
121  {500, second, " [s]"},
122  {500, minute, "[min]"},
123  {500, hour, " [h]"},
124  {10, day, "[day]"},
125  {5, week, " [w]"},
126  {20, month, "[mon]"},
127  {-1, year, " [y]"}}};
128  auto i = std::find_if( begin( tbl ), std::prev( end( tbl ) ),
129  [&]( const auto& i ) { return total < std::get<0>( i ) * std::get<1>( i ); } );
130  long double unit = std::get<1>( *i );
131  fmt % std::get<2>( *i ) % (double)( total / unit ) % number;
132 
133  if ( number > 1 ) {
135  boost::format fmt1( "Ave/Min/Max=%2$5.3g(+-%3$5.3g)/%4$5.3g/%5$5.3g%1$s" );
136  i = std::find_if( std::begin( tbl ), std::prev( std::end( tbl ) ),
137  [&]( const auto& i ) { return total < std::get<0>( i ) * std::get<1>( i ); } );
138  unit = std::get<1>( *i );
139  fmt1 % std::get<2>( *i ) % (double)( mean / unit ) % (double)( rms / unit ) % (double)( minimal / unit ) %
140  (double)( maximal / unit );
141  fmt % fmt1.str();
142  } else {
143  fmt % "";
144  }
145 
146  return fmt.str();
147 }
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
constexpr double microsecond
T end(T... args)
T prev(T... args)
constexpr double second
def end
Definition: IOTest.py:123
T find_if(T... args)
T begin(T... args)
STL class.
constexpr double millisecond
AttribStringParser::Iterator begin(const AttribStringParser &parser)

◆ kMaximalTime()

double ChronoEntity::kMaximalTime ( ) const
inline

maximal measurement for kernel time

Definition at line 211 of file ChronoEntity.h.

211 { return m_kernel.flagMax(); }
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flagMax() const
Definition: StatEntity.h:103

◆ kMeanErrorTime()

double ChronoEntity::kMeanErrorTime ( ) const
inline

error in mean Kernel time

Definition at line 259 of file ChronoEntity.h.

259 { return m_kernel.flagMeanErr(); }
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flagMeanErr() const
Definition: StatEntity.h:101

◆ kMeanTime()

double ChronoEntity::kMeanTime ( ) const
inline

average Kernel Time

Definition at line 235 of file ChronoEntity.h.

235 { return m_kernel.flagMean(); }
double flagMean() const
Definition: StatEntity.h:99
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177

◆ kMinimalTime()

double ChronoEntity::kMinimalTime ( ) const
inline

minimal measurement for kernel time

Definition at line 199 of file ChronoEntity.h.

199 { return m_kernel.flagMin(); }
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flagMin() const
Definition: StatEntity.h:102

◆ kRMSTime()

double ChronoEntity::kRMSTime ( ) const
inline

r.m.s Kernel Time

Definition at line 247 of file ChronoEntity.h.

247 { return m_kernel.flagRMS(); }
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flagRMS() const
Definition: StatEntity.h:100

◆ kTotalTime()

double ChronoEntity::kTotalTime ( ) const
inline

total Kernel time

Definition at line 223 of file ChronoEntity.h.

223 { return m_kernel.flag(); }
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flag() const
Definition: StatEntity.h:97

◆ nOfMeasurements()

unsigned long ChronoEntity::nOfMeasurements ( ) const
inline

number of chrono measurements

Definition at line 191 of file ChronoEntity.h.

191 { return m_user.nEntries(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175

◆ operator+=()

ChronoEntity & ChronoEntity::operator+= ( const ChronoEntity entity)

Compound assignment operator.

Definition at line 151 of file ChronoEntity.cpp.

151  {
152  // System::ProcessTime type
153  m_delta += e.m_delta;
154 
155  // Summing, massaging here does not make too much sense.
156  // This is done only for final reductions
157  // Keep by convention the original one.
158  // m_start += e.m_start;
159 
160  // Tymevaluetypes type
161  m_user += e.m_user;
162  m_kernel += e.m_kernel;
163  m_elapsed += e.m_elapsed;
164 
165  return *this;
166 }
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
System::ProcessTime m_delta
delta process times
Definition: ChronoEntity.h:171
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177

◆ outputElapsedTime() [1/2]

std::string ChronoEntity::outputElapsedTime ( ) const

print the chrono ;

Definition at line 106 of file ChronoEntity.cpp.

106  {
107  return "TimeElapsed: " +
109 }
double eRMSTime() const
r.m.s Elapsed Time
Definition: ChronoEntity.h:255
std::string format(const double total, const double minimal, const double mean, const double rms, const double maximal, const unsigned long number) const
format
double eMaximalTime() const
maximal measurement for elapsed time
Definition: ChronoEntity.h:215
unsigned long nOfMeasurements() const
number of chrono measurements
Definition: ChronoEntity.h:191
double eMinimalTime() const
minimal measurement for elapsed time
Definition: ChronoEntity.h:203
double eTotalTime() const
total Elapsed time
Definition: ChronoEntity.h:227
double eMeanTime() const
average Elapsed Time
Definition: ChronoEntity.h:243

◆ outputElapsedTime() [2/2]

std::string ChronoEntity::outputElapsedTime ( std::string_view  fmt,
System::TimeType  unit 
) const
inline

print the chrono according the format and units

Parameters
fmtthe format string
unitthe unit
Returns
the string representations
See also
boost::format

Definition at line 315 of file ChronoEntity.h.

315  {
316  return outputTime( IChronoSvc::ELAPSED, fmt, unit );
317 }
std::string outputTime(IChronoSvc::ChronoType typ, std::string_view fmt, System::TimeType unit) const
print the chrono according the format and units

◆ outputSystemTime() [1/2]

std::string ChronoEntity::outputSystemTime ( ) const

print the chrono ;

Definition at line 100 of file ChronoEntity.cpp.

100  {
101  return "Time System : " +
103 }
std::string format(const double total, const double minimal, const double mean, const double rms, const double maximal, const unsigned long number) const
format
double kRMSTime() const
r.m.s Kernel Time
Definition: ChronoEntity.h:247
unsigned long nOfMeasurements() const
number of chrono measurements
Definition: ChronoEntity.h:191
double kMeanTime() const
average Kernel Time
Definition: ChronoEntity.h:235
double kTotalTime() const
total Kernel time
Definition: ChronoEntity.h:223
double kMinimalTime() const
minimal measurement for kernel time
Definition: ChronoEntity.h:199
double kMaximalTime() const
maximal measurement for kernel time
Definition: ChronoEntity.h:211

◆ outputSystemTime() [2/2]

std::string ChronoEntity::outputSystemTime ( std::string_view  fmt,
System::TimeType  unit 
) const
inline

print the chrono according the format and units

Parameters
fmtthe format string
unitthe unit
Returns
the string representations
See also
boost::format

Definition at line 304 of file ChronoEntity.h.

304  {
305  return outputTime( IChronoSvc::KERNEL, fmt, unit );
306 }
std::string outputTime(IChronoSvc::ChronoType typ, std::string_view fmt, System::TimeType unit) const
print the chrono according the format and units

◆ outputTime()

std::string ChronoEntity::outputTime ( IChronoSvc::ChronoType  typ,
std::string_view  fmt,
System::TimeType  unit 
) const

print the chrono according the format and units

The format fields are:

  1. number of entries
  2. total time (in the specified units)
  3. mean time (in the specified units)
  4. r.m.s. time (in the specified units)
  5. error in mean time (in the specified units)
  6. minimal time (in the specified units)
  7. maximal time (in the specified units)
Parameters
typthe chrono type
fmtthe format string
unitthe unit
Returns
the string representations
See also
boost::format

Definition at line 177 of file ChronoEntity.cpp.

177  {
178  boost::format _fmt( std::string{fmt} );
179  // allow various number of arguments
180  using namespace boost::io;
181  _fmt.exceptions( all_error_bits ^ ( too_many_args_bit | too_few_args_bit ) );
182  //
183  double _unit = microsecond;
184  switch ( unit ) {
185  case System::Year:
186  _unit = year;
187  break;
188  case System::Month:
189  _unit = month;
190  break;
191  case System::Day:
192  _unit = day;
193  break;
194  case System::Hour:
195  _unit = hour;
196  break;
197  case System::Min:
198  _unit = minute;
199  break;
200  case System::Sec:
201  _unit = second;
202  break;
203  case System::milliSec:
204  _unit = millisecond;
205  break;
206  case System::microSec:
207  _unit = microsecond;
208  break;
209  case System::nanoSec:
210  _unit = nanosecond;
211  break;
212  default:
213  _unit = microsecond;
214  break;
215  }
216  //
217  const StatEntity* stat = &m_user;
218  switch ( typ ) {
219  case IChronoSvc::USER:
220  stat = &m_user;
221  break;
222  case IChronoSvc::KERNEL:
223  stat = &m_kernel;
224  break;
225  case IChronoSvc::ELAPSED:
226  stat = &m_elapsed;
227  break;
228  default:
229  stat = &m_user;
230  break;
231  }
232  //
233  _fmt % ( stat->nEntries() ) // %1 : #entries
234  % ( stat->flag() / _unit ) // %2 : total time
235  % ( stat->flagMean() / _unit ) // %3 : mean time
236  % ( stat->flagRMS() / _unit ) // %4 : RMS time
237  % ( stat->flagMeanErr() / _unit ) // %5 : error in mean time
238  % ( stat->flagMin() / _unit ) // %6 : minimal time
239  % ( stat->flagMax() / _unit ); // %7 : maximal time
240  //
241  return _fmt.str();
242 }
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
double flagMean() const
Definition: StatEntity.h:99
constexpr double microsecond
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
constexpr double second
STL class.
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
double flagMeanErr() const
Definition: StatEntity.h:101
double flagRMS() const
Definition: StatEntity.h:100
double flagMin() const
Definition: StatEntity.h:102
constexpr double nanosecond
constexpr double millisecond
double flagMax() const
Definition: StatEntity.h:103
double flag() const
Definition: StatEntity.h:97
backward compatible StatEntity class.
Definition: StatEntity.h:18

◆ outputUserTime() [1/2]

std::string ChronoEntity::outputUserTime ( ) const

print the chrono ;

Definition at line 93 of file ChronoEntity.cpp.

93  {
94  return "Time User : " +
96 }
double uMinimalTime() const
minimal measurement for user time
Definition: ChronoEntity.h:195
std::string format(const double total, const double minimal, const double mean, const double rms, const double maximal, const unsigned long number) const
format
double uTotalTime() const
total user time
Definition: ChronoEntity.h:219
unsigned long nOfMeasurements() const
number of chrono measurements
Definition: ChronoEntity.h:191
double uMeanTime() const
average User Time
Definition: ChronoEntity.h:239
double uMaximalTime() const
maximal measurement for user time
Definition: ChronoEntity.h:207
double uRMSTime() const
r.m.s User Time
Definition: ChronoEntity.h:251

◆ outputUserTime() [2/2]

std::string ChronoEntity::outputUserTime ( std::string_view  fmt,
System::TimeType  unit 
) const
inline

print the chrono according the format and units

Parameters
fmtthe format string
unitthe unit
Returns
the string representations
See also
boost::format

Definition at line 293 of file ChronoEntity.h.

293  {
294  return outputTime( IChronoSvc::USER, fmt, unit );
295 }
std::string outputTime(IChronoSvc::ChronoType typ, std::string_view fmt, System::TimeType unit) const
print the chrono according the format and units

◆ start()

IChronoSvc::ChronoStatus ChronoEntity::start ( )

start the current chrono

Definition at line 57 of file ChronoEntity.cpp.

57  {
58  if ( IChronoSvc::RUNNING == m_status ) { return m_status; }
59  //
60  // following lines could be platform dependent!
61  //
62  // Store in object the measured times
64 
66 
67  return m_status;
68 }
IChronoSvc::ChronoStatus m_status
current status of this chrono object;
Definition: ChronoEntity.h:169
System::ProcessTime m_start
start stamp for current measurement of process times
Definition: ChronoEntity.h:173
GAUDI_API ProcessTime getProcessTime(long pid=-1)
Retrieve the process time data for a process.
Definition: Timing.cpp:207

◆ status()

IChronoSvc::ChronoStatus ChronoEntity::status ( ) const
inline

return the status of chrono

Definition at line 187 of file ChronoEntity.h.

187 { return m_status; }
IChronoSvc::ChronoStatus m_status
current status of this chrono object;
Definition: ChronoEntity.h:169

◆ stop()

IChronoSvc::ChronoStatus ChronoEntity::stop ( )

stop the chrono

Definition at line 72 of file ChronoEntity.cpp.

72  {
73  if ( IChronoSvc::RUNNING != m_status ) { return m_status; }
74 
75  // following lines could be platform dependent!
77 
78  // update the counters:
79 
83 
84  // set new status
85 
87 
88  return m_status;
89 }
TimeValueType userTime() const
Retrieve the user time in the requested unit.
Definition: Timing.h:174
IChronoSvc::ChronoStatus m_status
current status of this chrono object;
Definition: ChronoEntity.h:169
StatEntity m_elapsed
the actual storage of "elapsed" time
Definition: ChronoEntity.h:179
TimeValueType elapsedTime() const
Retrieve the elapsed time in the requested unit.
Definition: Timing.h:180
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
TimeValueType kernelTime() const
Retrieve the kernel time in the requested unit.
Definition: Timing.h:168
System::ProcessTime m_start
start stamp for current measurement of process times
Definition: ChronoEntity.h:173
System::ProcessTime m_delta
delta process times
Definition: ChronoEntity.h:171
StatEntity m_kernel
the actual storage of "kernel" time
Definition: ChronoEntity.h:177
GAUDI_API ProcessTime getProcessTime(long pid=-1)
Retrieve the process time data for a process.
Definition: Timing.cpp:207
static const System::TimeType TimeUnit
internal unit used for the system time conversion (microseconds)
Definition: ChronoEntity.h:181

◆ totalTime()

double ChronoEntity::totalTime ( ) const
inline

total time

Definition at line 231 of file ChronoEntity.h.

231 { return uTotalTime() + kTotalTime(); }
double uTotalTime() const
total user time
Definition: ChronoEntity.h:219
double kTotalTime() const
total Kernel time
Definition: ChronoEntity.h:223

◆ uMaximalTime()

double ChronoEntity::uMaximalTime ( ) const
inline

maximal measurement for user time

Definition at line 207 of file ChronoEntity.h.

207 { return m_user.flagMax(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
double flagMax() const
Definition: StatEntity.h:103

◆ uMeanErrorTime()

double ChronoEntity::uMeanErrorTime ( ) const
inline

error in mean User time

Definition at line 263 of file ChronoEntity.h.

263 { return m_user.flagMeanErr(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
double flagMeanErr() const
Definition: StatEntity.h:101

◆ uMeanTime()

double ChronoEntity::uMeanTime ( ) const
inline

average User Time

Definition at line 239 of file ChronoEntity.h.

239 { return m_user.flagMean(); }
double flagMean() const
Definition: StatEntity.h:99
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175

◆ uMinimalTime()

double ChronoEntity::uMinimalTime ( ) const
inline

minimal measurement for user time

Definition at line 195 of file ChronoEntity.h.

195 { return m_user.flagMin(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
double flagMin() const
Definition: StatEntity.h:102

◆ uRMSTime()

double ChronoEntity::uRMSTime ( ) const
inline

r.m.s User Time

Definition at line 251 of file ChronoEntity.h.

251 { return m_user.flagRMS(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
double flagRMS() const
Definition: StatEntity.h:100

◆ uTotalTime()

double ChronoEntity::uTotalTime ( ) const
inline

total user time

Definition at line 219 of file ChronoEntity.h.

219 { return m_user.flag(); }
StatEntity m_user
the actual storage of "user" time
Definition: ChronoEntity.h:175
double flag() const
Definition: StatEntity.h:97

Friends And Related Function Documentation

◆ operator<

bool operator< ( ChronoEntity const &  lhs,
ChronoEntity const &  rhs 
)
friend

comparison operator

Definition at line 99 of file ChronoEntity.h.

99  {
100  return std::make_tuple( lhs.totalTime(), lhs.m_user, lhs.m_kernel, lhs.m_elapsed ) <
101  std::make_tuple( rhs.totalTime(), rhs.m_user, rhs.m_kernel, rhs.m_elapsed );
102  }
T make_tuple(T... args)

Member Data Documentation

◆ m_delta

System::ProcessTime ChronoEntity::m_delta
private

delta process times

Definition at line 171 of file ChronoEntity.h.

◆ m_elapsed

StatEntity ChronoEntity::m_elapsed
private

the actual storage of "elapsed" time

Definition at line 179 of file ChronoEntity.h.

◆ m_kernel

StatEntity ChronoEntity::m_kernel
private

the actual storage of "kernel" time

Definition at line 177 of file ChronoEntity.h.

◆ m_start

System::ProcessTime ChronoEntity::m_start
private

start stamp for current measurement of process times

Definition at line 173 of file ChronoEntity.h.

◆ m_status

IChronoSvc::ChronoStatus ChronoEntity::m_status = IChronoSvc::UNKNOWN
private

current status of this chrono object;

Definition at line 169 of file ChronoEntity.h.

◆ m_user

StatEntity ChronoEntity::m_user
private

the actual storage of "user" time

Definition at line 175 of file ChronoEntity.h.

◆ TimeUnit

const System::TimeType ChronoEntity::TimeUnit = System::microSec
staticprivate

internal unit used for the system time conversion (microseconds)

Definition at line 181 of file ChronoEntity.h.


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