Public Member Functions | Private Member Functions | Private Attributes

Profiler Class Reference

#include <acstimeProfiler.h>

Collaboration diagram for Profiler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Profiler ()
virtual ~Profiler ()
void reset ()
void start ()
ACS::Time stop ()
void fullDescription (const char *msg)
void addData (const char *key, const char *value)

Private Member Functions

 Profiler (const Profiler &)
void operator= (const Profiler &)

Private Attributes

ACS::Time lastStart_m
ACS::Time totalTime
 total time that has passed between all start/stops
unsigned long totalNumStarts_m
 total number of times start/stop has been invoked
ACS::Time minDuration
 the smallest amount of time that has passed between a start/stop
ACS::Time maxDuration
 the largest amount of time that has passed between a start/stop
std::string extraDescrip_m
EpochHelperepochHelper_mp
 Helper object.

Detailed Description

Profiler is a utility class providing a very simple profiling mechanism.

TODO:


Constructor & Destructor Documentation

Profiler::Profiler (  ) 

Constructor

virtual Profiler::~Profiler (  )  [inline, virtual]

Destructor

Profiler::Profiler ( const Profiler  )  [private]

Copy not allowed.


Member Function Documentation

void Profiler::addData ( const char *  key,
const char *  value 
)

Adds arbitrary data to the full description.

void Profiler::fullDescription ( const char *  msg  ) 

Prints out a full description of all times that were saved along with other relevant statistical data.

Parameters:
msg Message to be printed out.
Returns:
value converted to an Epoch

void Profiler::operator= ( const Profiler  )  [private]

Assignment not allowed.

void Profiler::reset (  ) 

Resets this class's values.

Returns:
void

void Profiler::start (  ) 

Starts a timing operation.

Returns:
void

ACS::Time Profiler::stop (  ) 

Stops a timing operation. Can only be called after a start invocation.

Returns:
void


Member Data Documentation

Helper object.

std::string Profiler::extraDescrip_m [private]
ACS::Time Profiler::lastStart_m [private]

last time start was invoked

ACS::Time Profiler::maxDuration [private]

the largest amount of time that has passed between a start/stop

ACS::Time Profiler::minDuration [private]

the smallest amount of time that has passed between a start/stop

unsigned long Profiler::totalNumStarts_m [private]

total number of times start/stop has been invoked

ACS::Time Profiler::totalTime [private]

total time that has passed between all start/stops


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