Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkTimerLog Class Reference

#include <vtkTimerLog.h>

Inheritance diagram for vtkTimerLog:

Inheritance graph
[legend]
Collaboration diagram for vtkTimerLog:

Collaboration graph
[legend]
List of all members.

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.

Tests:
vtkTimerLog (Tests)

Definition at line 79 of file vtkTimerLog.h.
void PrintSelf (ostream &os, vtkIndent indent)
static void SetLogging (int v)
static int GetLogging ()
static void LoggingOn ()
static void LoggingOff ()

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void StartTimer ()
void StopTimer ()
double GetElapsedTime ()

Static Public Member Functions

static vtkTimerLogNew ()
static int IsTypeOf (const char *type)
static vtkTimerLogSafeDownCast (vtkObject *o)
static void FormatAndMarkEvent (const char *EventString,...)
static void MarkEvent (const char *EventString)
static void ResetLog ()
static void AllocateLog ()
static void CleanupLog ()
static double GetUniversalTime ()
static double GetCPUTime ()
static double GetCurrentTime ()
static void SetMaxEntries (int a)
static int GetMaxEntries ()
static void DumpLog (const char *filename)
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)

Protected Member Functions

 vtkTimerLog ()
virtual ~vtkTimerLog ()

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

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


Member Typedef Documentation

typedef vtkObject vtkTimerLog::Superclass
 

Reimplemented from vtkObject.

Definition at line 84 of file vtkTimerLog.h.


Constructor & Destructor Documentation

vtkTimerLog::vtkTimerLog  )  [inline, protected]
 

Definition at line 178 of file vtkTimerLog.h.

virtual vtkTimerLog::~vtkTimerLog  )  [inline, protected, virtual]
 

Definition at line 179 of file vtkTimerLog.h.


Member Function Documentation

static vtkTimerLog* vtkTimerLog::New  )  [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

virtual const char* vtkTimerLog::GetClassName  )  [virtual]
 

Reimplemented from vtkObject.

static int vtkTimerLog::IsTypeOf const char *  type  )  [static]
 

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

Reimplemented from vtkObject.

virtual int vtkTimerLog::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

static vtkTimerLog* vtkTimerLog::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkObject.

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  )  [inline, static]
 

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

Definition at line 90 of file vtkTimerLog.h.

References Logging.

Referenced by LoggingOff(), and LoggingOn().

static int vtkTimerLog::GetLogging  )  [inline, static]
 

Definition at line 91 of file vtkTimerLog.h.

References Logging.

static void vtkTimerLog::LoggingOn  )  [inline, static]
 

Definition at line 92 of file vtkTimerLog.h.

References SetLogging().

static void vtkTimerLog::LoggingOff  )  [inline, static]
 

Definition at line 93 of file vtkTimerLog.h.

References SetLogging().

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]
 

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

static void vtkTimerLog::DumpLogWithIndents ostream *  os,
double  threshold
[static]
 

static int vtkTimerLog::GetNumberOfEvents  )  [static]
 

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

static int vtkTimerLog::GetEventIndent int  i  )  [static]
 

static double vtkTimerLog::GetEventWallTime int  i  )  [static]
 

static const char* vtkTimerLog::GetEventString int  i  )  [static]
 

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 double vtkTimerLog::GetCurrentTime  )  [static]
 

Deprecated:
Replaced by vtkTimerLog::GetUniversalTime() as of VTK 5.0.

static vtkTimerLogEntry* vtkTimerLog::GetEvent int  i  )  [static, protected]
 

static void vtkTimerLog::DumpEntry ostream &  os,
int  index,
double  time,
double  deltatime,
int  tick,
int  deltatick,
const char *  event
[static, protected]
 


Member Data Documentation

int vtkTimerLog::Logging [static, protected]
 

Definition at line 183 of file vtkTimerLog.h.

Referenced by GetLogging(), and SetLogging().

int vtkTimerLog::Indent [static, protected]
 

Definition at line 184 of file vtkTimerLog.h.

int vtkTimerLog::MaxEntries [static, protected]
 

Definition at line 185 of file vtkTimerLog.h.

int vtkTimerLog::NextEntry [static, protected]
 

Definition at line 186 of file vtkTimerLog.h.

int vtkTimerLog::WrapFlag [static, protected]
 

Definition at line 187 of file vtkTimerLog.h.

int vtkTimerLog::TicksPerSecond [static, protected]
 

Definition at line 188 of file vtkTimerLog.h.

vtkTimerLogEntry* vtkTimerLog::TimerLog [static, protected]
 

Definition at line 189 of file vtkTimerLog.h.

timeval vtkTimerLog::FirstWallTime [static, protected]
 

Definition at line 200 of file vtkTimerLog.h.

timeval vtkTimerLog::CurrentWallTime [static, protected]
 

Definition at line 201 of file vtkTimerLog.h.

tms vtkTimerLog::FirstCpuTicks [static, protected]
 

Definition at line 202 of file vtkTimerLog.h.

tms vtkTimerLog::CurrentCpuTicks [static, protected]
 

Definition at line 203 of file vtkTimerLog.h.

double vtkTimerLog::StartTime [protected]
 

Definition at line 208 of file vtkTimerLog.h.

double vtkTimerLog::EndTime [protected]
 

Definition at line 209 of file vtkTimerLog.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 22 00:23:18 2008 for VTK by  doxygen 1.4.3-20050530