The Gaudi Framework  v33r0 (d5ea422b)
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 (const std::string &fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputSystemTime (const std::string &fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputElapsedTime (const std::string &fmt, System::TimeType unit) const
 print the chrono according the format and units More...
 
std::string outputTime (IChronoSvc::ChronoType typ, const std::string &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 112 of file ChronoEntity.cpp.

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

◆ 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 149 of file ChronoEntity.cpp.

149  {
150  // System::ProcessTime type
151  m_delta += e.m_delta;
152 
153  // Summing, massaging here does not make too much sense.
154  // This is done only for final reductions
155  // Keep by convention the original one.
156  // m_start += e.m_start;
157 
158  // Tymevaluetypes type
159  m_user += e.m_user;
160  m_kernel += e.m_kernel;
161  m_elapsed += e.m_elapsed;
162 
163  return *this;
164 }
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 105 of file ChronoEntity.cpp.

105  {
106  return "TimeElapsed: " +
108 }
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 ( const std::string 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, const std::string &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 99 of file ChronoEntity.cpp.

99  {
100  return "Time System : " +
102 }
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 ( const std::string 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, const std::string &fmt, System::TimeType unit) const
print the chrono according the format and units

◆ outputTime()

std::string ChronoEntity::outputTime ( IChronoSvc::ChronoType  typ,
const std::string 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 175 of file ChronoEntity.cpp.

176  {
177  boost::format _fmt( fmt );
178  // allow various number of arguments
179  using namespace boost::io;
180  _fmt.exceptions( all_error_bits ^ ( too_many_args_bit | too_few_args_bit ) );
181  //
182  double _unit = microsecond;
183  switch ( unit ) {
184  case System::Year:
185  _unit = year;
186  break;
187  case System::Month:
188  _unit = month;
189  break;
190  case System::Day:
191  _unit = day;
192  break;
193  case System::Hour:
194  _unit = hour;
195  break;
196  case System::Min:
197  _unit = minute;
198  break;
199  case System::Sec:
200  _unit = second;
201  break;
202  case System::milliSec:
203  _unit = millisecond;
204  break;
205  case System::microSec:
206  _unit = microsecond;
207  break;
208  case System::nanoSec:
209  _unit = nanosecond;
210  break;
211  default:
212  _unit = microsecond;
213  break;
214  }
215  //
216  const StatEntity* stat = &m_user;
217  switch ( typ ) {
218  case IChronoSvc::USER:
219  stat = &m_user;
220  break;
221  case IChronoSvc::KERNEL:
222  stat = &m_kernel;
223  break;
224  case IChronoSvc::ELAPSED:
225  stat = &m_elapsed;
226  break;
227  default:
228  stat = &m_user;
229  break;
230  }
231  //
232  _fmt % ( stat->nEntries() ) // %1 : #entries
233  % ( stat->flag() / _unit ) // %2 : total time
234  % ( stat->flagMean() / _unit ) // %3 : mean time
235  % ( stat->flagRMS() / _unit ) // %4 : RMS time
236  % ( stat->flagMeanErr() / _unit ) // %5 : error in mean time
237  % ( stat->flagMin() / _unit ) // %6 : minimal time
238  % ( stat->flagMax() / _unit ); // %7 : maximal time
239  //
240  return _fmt.str();
241 }
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
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 92 of file ChronoEntity.cpp.

92  {
93  return "Time User : " +
95 }
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 ( const std::string 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, const std::string &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 56 of file ChronoEntity.cpp.

56  {
57  if ( IChronoSvc::RUNNING == m_status ) { return m_status; }
58  //
59  // following lines could be platform dependent!
60  //
61  // Store in object the measured times
63 
65 
66  return m_status;
67 }
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 71 of file ChronoEntity.cpp.

71  {
72  if ( IChronoSvc::RUNNING != m_status ) { return m_status; }
73 
74  // following lines could be platform dependent!
76 
77  // update the counters:
78 
82 
83  // set new status
84 
86 
87  return m_status;
88 }
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: