VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
vtkTimerLog Class Reference

Timer support and logging. More...

#include <vtkTimerLog.h>

Inheritance diagram for vtkTimerLog:
[legend]
Collaboration diagram for vtkTimerLog:
[legend]

Public Types

typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkTimerLogNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void StartTimer ()
 
void StopTimer ()
 
double GetElapsedTime ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkTimerLogNew ()
 
static int IsTypeOf (const char *type)
 
static vtkTimerLogSafeDownCast (vtkObjectBase *o)
 
static void DumpLog (const char *filename)
 
static void MarkEvent (const char *EventString)
 
static void ResetLog ()
 
static void AllocateLog ()
 
static void CleanupLog ()
 
static double GetUniversalTime ()
 
static double GetCPUTime ()
 
static void SetLogging (int v)
 
static int GetLogging ()
 
static void LoggingOn ()
 
static void LoggingOff ()
 
static void SetMaxEntries (int a)
 
static int GetMaxEntries ()
 
static void FormatAndMarkEvent (const char *EventString,...)
 
static void MarkStartEvent (const char *EventString)
 
static void MarkEndEvent (const char *EventString)
 
static void DumpLogWithIndents (ostream *os, double threshold)
 
static int GetNumberOfEvents ()
 
static int GetEventIndent (int i)
 
static double GetEventWallTime (int i)
 
static const char * GetEventString (int i)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkTimerLog ()
 
virtual ~vtkTimerLog ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Static Protected Member Functions

static vtkTimerLogEntryGetEvent (int i)
 
static void DumpEntry (ostream &os, int index, double time, double deltatime, int tick, int deltatick, const char *event)
 

Protected Attributes

double StartTime
 
double EndTime
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Static Protected Attributes

static int Logging
 
static int Indent
 
static int MaxEntries
 
static int NextEntry
 
static int WrapFlag
 
static int TicksPerSecond
 
static vtkTimerLogEntryTimerLog
 
static timeval FirstWallTime
 
static timeval CurrentWallTime
 
static tms FirstCpuTicks
 
static tms CurrentCpuTicks
 

Detailed Description

Timer support and logging.

vtkTimerLog contains walltime and cputime measurements associated with a given event. These results can be later analyzed when "dumping out" the table.

In addition, vtkTimerLog allows the user to simply get the current time, and to start/stop a simple timer separate from the timing table logging.

Examples:
vtkTimerLog (Examples)
Tests:
vtkTimerLog (Tests)

Definition at line 81 of file vtkTimerLog.h.

Member Typedef Documentation

Definition at line 86 of file vtkTimerLog.h.

Constructor & Destructor Documentation

vtkTimerLog::vtkTimerLog ( )
inlineprotected

Definition at line 167 of file vtkTimerLog.h.

virtual vtkTimerLog::~vtkTimerLog ( )
inlineprotectedvirtual

Definition at line 168 of file vtkTimerLog.h.

Member Function Documentation

static vtkTimerLog* vtkTimerLog::New ( )
static
static int vtkTimerLog::IsTypeOf ( const char *  type)
static
virtual int vtkTimerLog::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

static vtkTimerLog* vtkTimerLog::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkTimerLog::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkObject.

vtkTimerLog* vtkTimerLog::NewInstance ( ) const
void vtkTimerLog::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

static void vtkTimerLog::SetLogging ( int  v)
inlinestatic

This flag will turn loging of events off or on. By default, logging is on.

Definition at line 92 of file vtkTimerLog.h.

static int vtkTimerLog::GetLogging ( )
inlinestatic

This flag will turn loging of events off or on. By default, logging is on.

Definition at line 93 of file vtkTimerLog.h.

static void vtkTimerLog::LoggingOn ( )
inlinestatic

This flag will turn loging of events off or on. By default, logging is on.

Definition at line 94 of file vtkTimerLog.h.

static void vtkTimerLog::LoggingOff ( )
inlinestatic

This flag will turn loging of events off or on. By default, logging is on.

Definition at line 95 of file vtkTimerLog.h.

static void vtkTimerLog::SetMaxEntries ( int  a)
static

Set/Get the maximum number of entries allowed in the timer log

static int vtkTimerLog::GetMaxEntries ( )
static

Set/Get the maximum number of entries allowed in the timer log

static void vtkTimerLog::FormatAndMarkEvent ( const char *  EventString,
  ... 
)
static

Record a timing event. The event is represented by a formatted string.

static void vtkTimerLog::DumpLog ( const char *  filename)
static

Write the timing table out to a file. Calculate some helpful statistics (deltas and percentages) in the process.

static void vtkTimerLog::MarkStartEvent ( const char *  EventString)
static

I want to time events, so I am creating this interface to mark events that have a start and an end. These events can be, nested. The standard Dumplog ignores the indents.

static void vtkTimerLog::MarkEndEvent ( const char *  EventString)
static

I want to time events, so I am creating this interface to mark events that have a start and an end. These events can be, nested. The standard Dumplog ignores the indents.

static void vtkTimerLog::DumpLogWithIndents ( ostream *  os,
double  threshold 
)
static

I want to time events, so I am creating this interface to mark events that have a start and an end. These events can be, nested. The standard Dumplog ignores the indents.

static int vtkTimerLog::GetNumberOfEvents ( )
static

Programatic access to events. Indexed from 0 to num-1.

static int vtkTimerLog::GetEventIndent ( int  i)
static

Programatic access to events. Indexed from 0 to num-1.

static double vtkTimerLog::GetEventWallTime ( int  i)
static

Programatic access to events. Indexed from 0 to num-1.

static const char* vtkTimerLog::GetEventString ( int  i)
static

Programatic access to events. Indexed from 0 to num-1.

static void vtkTimerLog::MarkEvent ( const char *  EventString)
static

Record a timing event and capture wall time and cpu ticks.

static void vtkTimerLog::ResetLog ( )
static

Clear the timing table. walltime and cputime will also be set to zero when the first new event is recorded.

static void vtkTimerLog::AllocateLog ( )
static

Allocate timing table with MaxEntries elements.

static void vtkTimerLog::CleanupLog ( )
static

Remove timer log.

static double vtkTimerLog::GetUniversalTime ( )
static

Returns the elapsed number of seconds since January 1, 1970. This is also called Universal Coordinated Time.

static double vtkTimerLog::GetCPUTime ( )
static

Returns the CPU time for this process On Win32 platforms this actually returns wall time.

void vtkTimerLog::StartTimer ( )

Set the StartTime to the current time. Used with GetElapsedTime().

void vtkTimerLog::StopTimer ( )

Sets EndTime to the current time. Used with GetElapsedTime().

double vtkTimerLog::GetElapsedTime ( )

Returns the difference between StartTime and EndTime as a doubleing point value indicating the elapsed time in seconds.

static vtkTimerLogEntry* vtkTimerLog::GetEvent ( int  i)
staticprotected
static void vtkTimerLog::DumpEntry ( ostream &  os,
int  index,
double  time,
double  deltatime,
int  tick,
int  deltatick,
const char *  event 
)
staticprotected

Member Data Documentation

int vtkTimerLog::Logging
staticprotected

Definition at line 172 of file vtkTimerLog.h.

int vtkTimerLog::Indent
staticprotected

Definition at line 173 of file vtkTimerLog.h.

int vtkTimerLog::MaxEntries
staticprotected

Definition at line 174 of file vtkTimerLog.h.

int vtkTimerLog::NextEntry
staticprotected

Definition at line 175 of file vtkTimerLog.h.

int vtkTimerLog::WrapFlag
staticprotected

Definition at line 176 of file vtkTimerLog.h.

int vtkTimerLog::TicksPerSecond
staticprotected

Definition at line 177 of file vtkTimerLog.h.

vtkTimerLogEntry* vtkTimerLog::TimerLog
staticprotected

Definition at line 178 of file vtkTimerLog.h.

timeval vtkTimerLog::FirstWallTime
staticprotected

Definition at line 189 of file vtkTimerLog.h.

timeval vtkTimerLog::CurrentWallTime
staticprotected

Definition at line 190 of file vtkTimerLog.h.

tms vtkTimerLog::FirstCpuTicks
staticprotected

Definition at line 191 of file vtkTimerLog.h.

tms vtkTimerLog::CurrentCpuTicks
staticprotected

Definition at line 192 of file vtkTimerLog.h.

double vtkTimerLog::StartTime
protected

Definition at line 197 of file vtkTimerLog.h.

double vtkTimerLog::EndTime
protected

Definition at line 198 of file vtkTimerLog.h.


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