MeVisLabToolboxReference
MLMetaProfile Class Reference

#include <mlMetaProfile.h>

List of all members.

Public Types

enum  MLProfilingFunctionType {
  MLCall = 0, PythonCall = 1, FieldNotificationCall = 2, CppCall = 3,
  GLRenderCall = 4, PythonQtCall = 5, MLWEMCall = 6, MDLCommandCall = 7,
  MainFunctionCall = 8, CallTypeCount = 9
}

Public Member Functions

const std::vector
< MLMetaProfile * > & 
getSubMetaProfiles () const
 Returns the sub meta profiles.
void addSubMetaProfile (MLMetaProfile *subMetaProfile)
 Adds a sub meta profile.
MLCountProfilecreateCountProfile (const std::string &key)
 Creates a count profile.
MLCountProfilegetCountProfile (const std::string &key) const
 Returns a count profile, or NULL if it does not exist.
bool incrementCountValue (const std::string &key)
 Increments the count profile value by 1.
MLProfilingCountType getCountValue (const std::string &key, bool *ok=NULL) const
 Returns the current value of a count profile.
const MLCountProfileMapgetCountProfileMap () const
 Returns the map which contains count profiles by functions.
void setCountProfileDescription (const std::string &key, const std::string &description)
 Sets the description of the count profile.
MLMemoryProfilecreateMemoryProfile (const std::string &key, MLCurrentlyUsedMemoryTracker *tracker)
 Creates a memory profile.
MLMemoryProfilegetMemoryProfile (const std::string &key) const
 Returns a memory profile, or NULL if it does not exist.
bool addMemory (const std::string &key, MLProfilingMemoryType memory)
 Adds allocated memory to a memory profile.
MLProfilingMemoryType getMemory (const std::string &key, bool *ok=NULL) const
 Returns the overall used memory in bytes of a memory profile.
MLProfilingMemoryType getAllMemory () const
 Returns the sum of the overall used memory of all memory profiles.
MLProfilingMemoryType getCurrentlyUsedMemory (const std::string &key, bool *ok=NULL) const
 Returns the currently used memory in bytes of a memory profile.
MLProfilingMemoryType getAllCurrentlyUsedMemory () const
 Returns the sum of the currently used memory of all memory profiles.
const MLMemoryProfileMapgetMemoryProfileMap () const
 Returns the map which contains memory profiles by functions.
void setMemoryProfileDescription (const std::string &key, const std::string &description)
 Sets the description of the memory profile.
MLTimeProfileHandle startMeasuring (const std::string &function, int userId, void *userData=NULL, const std::string &filename="", int linenumber=-1)
 Starts measuring time.
void stopMeasuring (MLTimeProfileHandle &handle)
 Stops measuring time and associates the elapsed time.
MLTimeProfilegetTimeProfile () const
 Returns the time profile.
void setDescription (const std::string &description_)
 Sets the meta profile's description.
const std::string & description () const
 Returns the meta profile's description.
 ~MLMetaProfile ()

Friends

class MLMetaProfilePtr
class MLProfilingManager

Detailed Description

Definition at line 30 of file mlMetaProfile.h.


Member Enumeration Documentation

Enumerator:
MLCall 
PythonCall 
FieldNotificationCall 
CppCall 
GLRenderCall 
PythonQtCall 
MLWEMCall 
MDLCommandCall 
MainFunctionCall 
CallTypeCount 

Definition at line 33 of file mlMetaProfile.h.


Constructor & Destructor Documentation

MLMetaProfile::~MLMetaProfile ( )

Member Function Documentation

bool MLMetaProfile::addMemory ( const std::string &  key,
MLProfilingMemoryType  memory 
)

Adds allocated memory to a memory profile.

Parameters:
keyThe key that identifies the memory profile.
memoryThe amount of newly allocated memory.
Returns:
Returns true if the memory profile does exist, otherwise false.
void MLMetaProfile::addSubMetaProfile ( MLMetaProfile subMetaProfile) [inline]

Adds a sub meta profile.

Definition at line 50 of file mlMetaProfile.h.

MLCountProfile* MLMetaProfile::createCountProfile ( const std::string &  key)

Creates a count profile.

Parameters:
keyThe key that identifies the count profile.
Returns:
Returns NULL if either no memory is available, or if a count profile with the given key already exists.
MLMemoryProfile* MLMetaProfile::createMemoryProfile ( const std::string &  key,
MLCurrentlyUsedMemoryTracker tracker 
)

Creates a memory profile.

Parameters:
keyThe key that identifies the memory profile.
trackerThe MLCurrentlyUsedMemoryTracker must be set, which is required to read the currently used amount of memory.
Returns:
Returns NULL if either no memory is available, or if a memory profile with the given key already exists.
const std::string& MLMetaProfile::description ( ) const [inline]

Returns the meta profile's description.

Definition at line 170 of file mlMetaProfile.h.

MLProfilingMemoryType MLMetaProfile::getAllCurrentlyUsedMemory ( ) const

Returns the sum of the currently used memory of all memory profiles.

MLProfilingMemoryType MLMetaProfile::getAllMemory ( ) const

Returns the sum of the overall used memory of all memory profiles.

MLCountProfile* MLMetaProfile::getCountProfile ( const std::string &  key) const

Returns a count profile, or NULL if it does not exist.

Parameters:
keyThe key that identifies the count profile.
const MLCountProfileMap& MLMetaProfile::getCountProfileMap ( ) const [inline]

Returns the map which contains count profiles by functions.

Definition at line 79 of file mlMetaProfile.h.

MLProfilingCountType MLMetaProfile::getCountValue ( const std::string &  key,
bool *  ok = NULL 
) const

Returns the current value of a count profile.

Parameters:
keyThe key that identifies the count profile.
okIf ok is a valid pointer, then it will be set to false if no count profile with the given key exists.
Returns:
Returns the current count profile value, or std::numeric_limits<MLProfilingCountType>::max() if the count profile does not exist.
MLProfilingMemoryType MLMetaProfile::getCurrentlyUsedMemory ( const std::string &  key,
bool *  ok = NULL 
) const

Returns the currently used memory in bytes of a memory profile.

Parameters:
keyThe key that identifies the memory profile.
okIf ok is a valid pointer, then it will be set to false if no memory profile with the given key exists.
Returns:
Returns the currently used memory, or std::numeric_limits<MLProfilingMemoryType>::max() if the memory profile does not exist.
MLProfilingMemoryType MLMetaProfile::getMemory ( const std::string &  key,
bool *  ok = NULL 
) const

Returns the overall used memory in bytes of a memory profile.

Parameters:
keyThe key that identifies the memory profile.
okIf ok is a valid pointer, then it will be set to false if no memory profile with the given key exists.
Returns:
Returns the added memory since instantiation/last reset, or std::numeric_limits<MLProfilingMemoryType>::max() if the memory profile does not exist.
MLMemoryProfile* MLMetaProfile::getMemoryProfile ( const std::string &  key) const

Returns a memory profile, or NULL if it does not exist.

Parameters:
keyThe key that identifies the memory profile.
const MLMemoryProfileMap& MLMetaProfile::getMemoryProfileMap ( ) const [inline]

Returns the map which contains memory profiles by functions.

Definition at line 133 of file mlMetaProfile.h.

const std::vector<MLMetaProfile*>& MLMetaProfile::getSubMetaProfiles ( ) const [inline]

Returns the sub meta profiles.

Definition at line 47 of file mlMetaProfile.h.

MLTimeProfile* MLMetaProfile::getTimeProfile ( ) const [inline]

Returns the time profile.

Definition at line 163 of file mlMetaProfile.h.

bool MLMetaProfile::incrementCountValue ( const std::string &  key)

Increments the count profile value by 1.

Parameters:
keyThe key that identifies the count profile.
Returns:
Returns true if the count profile does exist, otherwise false.
void MLMetaProfile::setCountProfileDescription ( const std::string &  key,
const std::string &  description 
)

Sets the description of the count profile.

Parameters:
keyThe key that identifies the count profile.
void MLMetaProfile::setDescription ( const std::string &  description_) [inline]

Sets the meta profile's description.

Definition at line 168 of file mlMetaProfile.h.

void MLMetaProfile::setMemoryProfileDescription ( const std::string &  key,
const std::string &  description 
)

Sets the description of the memory profile.

Parameters:
keyThe key that identifies the memory profile.
MLTimeProfileHandle MLMetaProfile::startMeasuring ( const std::string &  function,
int  userId,
void *  userData = NULL,
const std::string &  filename = "",
int  linenumber = -1 
) [inline]

Starts measuring time.

Parameters:
functionThe function identifies the measurement.
userIdThe user id can be any integer, it is just stored.
userDataOptional data that is stored in the call graph nodes.
Returns:
Returns the MLTimeProfileHandle, which is required to stop the measurement.

Definition at line 149 of file mlMetaProfile.h.

void MLMetaProfile::stopMeasuring ( MLTimeProfileHandle handle) [inline]

Stops measuring time and associates the elapsed time.

Parameters:
handleThe MLTimeProfileHandle returned by startMeasuring() must be given.

Definition at line 160 of file mlMetaProfile.h.


Friends And Related Function Documentation

friend class MLMetaProfilePtr [friend]

Definition at line 192 of file mlMetaProfile.h.

friend class MLProfilingManager [friend]

Definition at line 193 of file mlMetaProfile.h.


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