Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkTimerLog Class Reference

`#include <vtkTimerLog.h>`

Inheritance diagram for vtkTimerLog:

[legend]
Collaboration diagram for vtkTimerLog:

[legend]
List of all members.

## Detailed Description

Timer support and logging.

Date:
  2002/12/26 18:24:22

Revision:
  1.39

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.

Created by:
  - Martin, Ken

CVS contributions (if > 5%):
  - Martin, Ken (55%)
  - Law, Charles (20%)
  - Miller, Jim (8%)

CVS logs (CVSweb):
  - .`cxx` (`/Common/vtkTimerLog.cxx)`
  - .`h` (`/Common/vtkTimerLog.h)`

Examples:
  vtkTimerLog (Examples)

Tests:
  vtkTimerLog (Tests)

Definition at line 102 of file vtkTimerLog.h.

## Public Types
typedef vtkObject | Superclass
## Public Methods
virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
void | StartTimer ()
void | StopTimer ()
double | GetElapsedTime ()
## Static Public Methods
vtkTimerLog * | New ()
int | IsTypeOf (const char *type)
vtkTimerLog * | SafeDownCast (vtkObject *o)
void | FormatAndMarkEvent (const char *EventString,...)
void | DumpLog (const char *filename)
void | DumpLogWithIndents (ostream *os, float threshold)
void | MarkEvent (const char *EventString)
void | ResetLog ()
void | AllocateLog ()
double | GetCurrentTime ()
double | GetCPUTime ()
void | SetLogging (int v)
int | GetLogging ()
void | LoggingOn ()
void | LoggingOff ()
void | SetMaxEntries (int a)
int | GetMaxEntries ()
void | MarkStartEvent (const char *EventString)
void | MarkEndEvent (const char *EventString)
int | GetNumberOfEvents ()
int | GetEventIndent (int i)
float | GetEventWallTime (int i)
const char * | GetEventString (int i)
## Protected Methods
| vtkTimerLog ()
| ~vtkTimerLog ()
## Static Protected Methods
vtkTimerLogEntry * | GetEvent (int i)
void | DumpEntry (ostream &os, int index, float time, float deltatime, int tick, int deltatick, const char *event)
## Protected Attributes
double | StartTime
double | EndTime
## Static Protected Attributes
int | Logging
int | Indent
int | MaxEntries
int | NextEntry
int | WrapFlag
int | TicksPerSecond
vtkTimerLogEntry * | TimerLog
timeval | FirstWallTime
timeval | CurrentWallTime
tms | FirstCpuTicks
tms | CurrentCpuTicks

## Member Typedef Documentation

typedef vtkObject vtkTimerLog::Superclass

| Reimplemented from vtkObject. Definition at line 107 of file vtkTimerLog.h.

## Constructor & Destructor Documentation

vtkTimerLog::vtkTimerLog | ( |  | ) | `[inline, protected]`

| Definition at line 183 of file vtkTimerLog.h.

vtkTimerLog::~vtkTimerLog | ( |  | ) | `[inline, protected]`

| Definition at line 184 of file vtkTimerLog.h.

## Member Function Documentation

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.

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.

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.

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 113 of file vtkTimerLog.h. References Logging. Referenced by LoggingOff(), and LoggingOn().

int vtkTimerLog::GetLogging | ( |  | ) | `[inline, static]`

| This flag will turn loging of events off or on. By default, logging is on. Definition at line 114 of file vtkTimerLog.h. References Logging.

void vtkTimerLog::LoggingOn | ( |  | ) | `[inline, static]`

| This flag will turn loging of events off or on. By default, logging is on. Definition at line 115 of file vtkTimerLog.h. References SetLogging().

void vtkTimerLog::LoggingOff | ( |  | ) | `[inline, static]`

| This flag will turn loging of events off or on. By default, logging is on. Definition at line 116 of file vtkTimerLog.h. References SetLogging().

void vtkTimerLog::SetMaxEntries | ( | int | a | ) | `[static]`

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

int vtkTimerLog::GetMaxEntries | ( |  | ) | `[static]`

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

void vtkTimerLog::FormatAndMarkEvent | ( | const char * | EventString,
|  | ... |
| ) | `[static]`

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

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.

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.

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.

void vtkTimerLog::DumpLogWithIndents | ( | ostream * | os,
|  | float | threshold
| ) | `[static]`

int vtkTimerLog::GetNumberOfEvents | ( |  | ) | `[static]`

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

int vtkTimerLog::GetEventIndent | ( | int | i | ) | `[static]`

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

float vtkTimerLog::GetEventWallTime | ( | int | i | ) | `[static]`

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

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

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

void vtkTimerLog::MarkEvent | ( | const char * | EventString | ) | `[static]`

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

void vtkTimerLog::ResetLog | ( |  | ) | `[static]`

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

void vtkTimerLog::AllocateLog | ( |  | ) | `[static]`

| Allocate timing table with MaxEntries elements.

double vtkTimerLog::GetCurrentTime | ( |  | ) | `[static]`

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

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 floating point value indicating the elapsed time in seconds.

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

void vtkTimerLog::DumpEntry | ( | ostream & | os,
|  | int | index,
|  | float | time,
|  | float | deltatime,
|  | int | tick,
|  | int | deltatick,
|  | const char * | event
| ) | `[static, protected]`

## Member Data Documentation

int vtkTimerLog::Logging`[static, protected]`

| Definition at line 188 of file vtkTimerLog.h. Referenced by GetLogging(), and SetLogging().

int vtkTimerLog::Indent`[static, protected]`

| Definition at line 189 of file vtkTimerLog.h.

int vtkTimerLog::MaxEntries`[static, protected]`

| Definition at line 190 of file vtkTimerLog.h.

int vtkTimerLog::NextEntry`[static, protected]`

| Definition at line 191 of file vtkTimerLog.h.

int vtkTimerLog::WrapFlag`[static, protected]`

| Definition at line 192 of file vtkTimerLog.h.

int vtkTimerLog::TicksPerSecond`[static, protected]`

| Definition at line 193 of file vtkTimerLog.h.

vtkTimerLogEntry* vtkTimerLog::TimerLog`[static, protected]`

| Definition at line 194 of file vtkTimerLog.h.

timeval vtkTimerLog::FirstWallTime`[static, protected]`

| Definition at line 205 of file vtkTimerLog.h.

timeval vtkTimerLog::CurrentWallTime`[static, protected]`

| Definition at line 206 of file vtkTimerLog.h.

tms vtkTimerLog::FirstCpuTicks`[static, protected]`

| Definition at line 207 of file vtkTimerLog.h.

tms vtkTimerLog::CurrentCpuTicks`[static, protected]`

| Definition at line 208 of file vtkTimerLog.h.

double vtkTimerLog::StartTime`[protected]`

| Definition at line 213 of file vtkTimerLog.h.

double vtkTimerLog::EndTime`[protected]`

| Definition at line 214 of file vtkTimerLog.h.

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

- Common/vtkTimerLog.h