ompl::Profiler Class Reference

This is a simple thread-safe tool for counting time spent in various chunks of code. This is different from external profiling tools in that it allows the user to count time spent in various bits of code (sub-function granularity) or count how many times certain pieces of code are executed. More...

#include <Profiler.h>

List of all members.

Classes

class  BeginBlock
 This instance will call Profiler::begin() when constructed and Profiler::end() when it goes out of scope. More...
struct  PerThread
 Timing information to be maintained for each thread. More...
struct  TimeInfo
 Information about time spent in a section of the code. More...

Public Member Functions

void begin (const std::string &name)
 Begin counting time for a specific chunk of code.
void clear (void)
 Clear counted time and events.
void end (const std::string &name)
 Stop counting time for a specific chunk of code.
void event (const std::string &name, const unsigned int times=1)
 Count a specific event for a number of times.
 Profiler (bool printOnDestroy=false, bool autoStart=false)
 Constructor. It is allowed to separately instantiate this class (not only as a singleton).
void start (void)
 Start counting time.
void status (std::ostream &out=std::cout, bool merge=true)
 Print the status of the profiled code chunks and events. Optionally, computation done by different threads can be printed separately.
void stop (void)
 Stop counting time.
 ~Profiler (void)
 Destructor.

Static Public Member Functions

static void Begin (const std::string &name)
 Begin counting time for a specific chunk of code.
static void Clear (void)
 Clear counted time and events.
static void End (const std::string &name)
 Stop counting time for a specific chunk of code.
static void Event (const std::string &name, const unsigned int times=1)
 Count a specific event for a number of times.
static ProfilerInstance (void)
 Return an instance of the class.
static void Start (void)
 Start counting time.
static void Status (std::ostream &out=std::cout, bool merge=true)
 Print the status of the profiled code chunks and events. Optionally, computation done by different threads can be printed separately.
static void Stop (void)
 Stop counting time.

Private Member Functions

void printThreadInfo (std::ostream &out, const PerThread &data)

Private Attributes

std::map< boost::thread::id,
PerThread
data_
boost::mutex lock_
bool printOnDestroy_
bool running_
TimeInfo tinfo_

Detailed Description

This is a simple thread-safe tool for counting time spent in various chunks of code. This is different from external profiling tools in that it allows the user to count time spent in various bits of code (sub-function granularity) or count how many times certain pieces of code are executed.

Definition at line 74 of file Profiler.h.


Constructor & Destructor Documentation

ompl::Profiler::Profiler ( bool  printOnDestroy = false,
bool  autoStart = false 
) [inline]

Constructor. It is allowed to separately instantiate this class (not only as a singleton).

Definition at line 104 of file Profiler.h.

ompl::Profiler::~Profiler ( void   )  [inline]

Destructor.

Definition at line 111 of file Profiler.h.


Member Function Documentation

void ompl::Profiler::begin ( const std::string &  name  ) 

Begin counting time for a specific chunk of code.

static void ompl::Profiler::Begin ( const std::string &  name  )  [inline, static]

Begin counting time for a specific chunk of code.

Definition at line 154 of file Profiler.h.

void ompl::Profiler::clear ( void   ) 

Clear counted time and events.

static void ompl::Profiler::Clear ( void   )  [inline, static]

Clear counted time and events.

Definition at line 130 of file Profiler.h.

void ompl::Profiler::end ( const std::string &  name  ) 

Stop counting time for a specific chunk of code.

static void ompl::Profiler::End ( const std::string &  name  )  [inline, static]

Stop counting time for a specific chunk of code.

Definition at line 160 of file Profiler.h.

void ompl::Profiler::event ( const std::string &  name,
const unsigned int  times = 1 
)

Count a specific event for a number of times.

static void ompl::Profiler::Event ( const std::string &  name,
const unsigned int  times = 1 
) [inline, static]

Count a specific event for a number of times.

Definition at line 145 of file Profiler.h.

static Profiler* ompl::Profiler::Instance ( void   )  [static]

Return an instance of the class.

void ompl::Profiler::printThreadInfo ( std::ostream &  out,
const PerThread data 
) [private]
void ompl::Profiler::start ( void   ) 

Start counting time.

static void ompl::Profiler::Start ( void   )  [inline, static]

Start counting time.

Definition at line 118 of file Profiler.h.

void ompl::Profiler::status ( std::ostream &  out = std::cout,
bool  merge = true 
)

Print the status of the profiled code chunks and events. Optionally, computation done by different threads can be printed separately.

static void ompl::Profiler::Status ( std::ostream &  out = std::cout,
bool  merge = true 
) [inline, static]

Print the status of the profiled code chunks and events. Optionally, computation done by different threads can be printed separately.

Definition at line 174 of file Profiler.h.

void ompl::Profiler::stop ( void   ) 

Stop counting time.

static void ompl::Profiler::Stop ( void   )  [inline, static]

Stop counting time.

Definition at line 124 of file Profiler.h.


Member Data Documentation

std::map<boost::thread::id, PerThread> ompl::Profiler::data_ [private]

Definition at line 240 of file Profiler.h.

boost::mutex ompl::Profiler::lock_ [private]

Definition at line 239 of file Profiler.h.

Definition at line 243 of file Profiler.h.

bool ompl::Profiler::running_ [private]

Definition at line 242 of file Profiler.h.

Definition at line 241 of file Profiler.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


ompl
Author(s): Ioan Sucan/isucan@rice.edu, Mark Moll/mmoll@rice.edu, Lydia Kavraki/kavraki@rice.edu
autogenerated on Fri Jan 11 09:33:58 2013