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

# GTXabsl2Profiler Class Reference

Class for profiling and analysis of Xabsl-Activation-Paths. More...

`#include <GTXabsl2Profiler.h>`

Collaboration diagram for GTXabsl2Profiler:

[legend]
List of all members.

## Public Types
enum | { dontCollectProfiles, collectProfiles }
| The Xabsl-Output-Symbols for the Profiler. More...
enum | { dontWriteProfiles, writeProfiles, writeCompleteProfiles }
## Public Member Functions
void | registerSymbols (Xabsl2Engine &)
| GTXabsl2Profiler ()
| GTXabsl2Profiler (SolutionRequest::xabsl2EngineID id, const unsigned long *frameNumber)
| Constructor.
void | init (Xabsl2Engine &pEngine)
void | recordLog (Xabsl2Engine &pEngine)
void | writeLogEntriesToFileAndRemove (int numberOfLogs=2)
void | writeCompleteLogToFileAndClear ()
## Public Attributes
GTXabsl2Log | log
| The log.
enum GTXabsl2Profiler:: { ... } | profilerCollectMode
| The Xabsl-Output-Symbols for the Profiler.
enum GTXabsl2Profiler:: { ... } | profilerWriteMode
## Private Attributes
std::string | logFileName
| Name of the file the Log is written to.
const unsigned long * | frameNumber
| A reference to a variable containing the current frame number.

## Detailed Description

Class for profiling and analysis of Xabsl-Activation-Paths.

Author:
  Michael Spranger

Definition at line 44 of file GTXabsl2Profiler.h.

## Member Enumeration Documentation

anonymous enum

  | The Xabsl-Output-Symbols for the Profiler. Enumeration values:
  dontCollectProfiles |
  collectProfiles |
Definition at line 60 of file GTXabsl2Profiler.h.

anonymous enum

  | Enumeration values:
  dontWriteProfiles |
  writeProfiles |
  writeCompleteProfiles |
Definition at line 61 of file GTXabsl2Profiler.h.

## Constructor & Destructor Documentation

GTXabsl2Profiler::GTXabsl2Profiler | ( |  | ) |

| Definition at line 10 of file GTXabsl2Profiler.cpp.

GTXabsl2Profiler::GTXabsl2Profiler | ( | SolutionRequest::xabsl2EngineID | id,
|  | const unsigned long * | frameNumber
| ) |

  | Constructor. Parameters:
  id | The id of the observed xabsl engine
  frameNumber | A reference to the frame number
Definition at line 3 of file GTXabsl2Profiler.cpp. References logFileName.

## Member Function Documentation

void GTXabsl2Profiler::registerSymbols | ( | Xabsl2Engine & |  | ) |

| Definition at line 21 of file GTXabsl2Profiler.cpp. References collectProfiles, dontCollectProfiles, dontWriteProfiles, profilerCollectMode, profilerWriteMode, Xabsl2Symbols::registerEnumeratedOutputSymbol(), Xabsl2Symbols::registerEnumeratedOutputSymbolEnumElement(), writeCompleteProfiles, and writeProfiles. Referenced by GTXabsl2EngineExecutor::init().

Here is the call graph for this function:

void GTXabsl2Profiler::init | ( | Xabsl2Engine & | pEngine | ) |

| Definition at line 15 of file GTXabsl2Profiler.cpp. References GTXabsl2Log::init(), log, logFileName, and out. Referenced by GTXabsl2EngineExecutor::init().

Here is the call graph for this function:

void GTXabsl2Profiler::recordLog | ( | Xabsl2Engine & | pEngine | ) |

| Definition at line 35 of file GTXabsl2Profiler.cpp. References GTXabsl2LogEntry::activeOptions, Xabsl2Option::activeState, GTXabsl2ProfilerNameTable::exists(), GTXabsl2LogEntry::frameNumber, Xabsl2Symbols::getBooleanInputSymbol(), Xabsl2Symbols::getDecimalInputSymbol(), Xabsl2Symbols::getEnumeratedInputSymbol(), GTXabsl2ProfilerNameTable::getOptionPosition(), Xabsl2Engine::getRootOption(), Xabsl2Array< double >::getSize(), GTXabsl2ProfilerNameTable::getStatePosition(), Xabsl2InputSymbol< int >::getValue(), Xabsl2InputSymbol< bool >::getValue(), Xabsl2InputSymbol< double >::getValue(), GTXabsl2LogEntry::inputSymbolValues, log, Xabsl2NamedItem::n, GTXabsl2Log::nameTable, Xabsl2Symbols::numberOfBooleanInputSymbols(), Xabsl2Symbols::numberOfDecimalInputSymbols(), Xabsl2Symbols::numberOfEnumeratedInputSymbols(), Xabsl2Option::parameters, and Xabsl2State::subsequentOption. Referenced by GTXabsl2EngineExecutor::executeEngine().

Here is the call graph for this function:

void GTXabsl2Profiler::writeLogEntriesToFileAndRemove | ( | int | numberOfLogs = 2 | ) |

| Definition at line 70 of file GTXabsl2Profiler.cpp. References log, logFileName, and out. Referenced by GTXabsl2EngineExecutor::executeEngine().

void GTXabsl2Profiler::writeCompleteLogToFileAndClear | ( |  | ) |

| Definition at line 81 of file GTXabsl2Profiler.cpp. References log, logFileName, and out. Referenced by GTXabsl2EngineExecutor::executeEngine().

## Member Data Documentation

std::string GTXabsl2Profiler::logFileName`[private]`

| Name of the file the Log is written to. Definition at line 49 of file GTXabsl2Profiler.h. Referenced by GTXabsl2Profiler(), init(), writeCompleteLogToFileAndClear(), and writeLogEntriesToFileAndRemove().

const unsigned long* GTXabsl2Profiler::frameNumber`[private]`

| A reference to a variable containing the current frame number. Definition at line 52 of file GTXabsl2Profiler.h.

GTXabsl2Log GTXabsl2Profiler::log

| The log. Definition at line 57 of file GTXabsl2Profiler.h. Referenced by GTXabsl2EngineExecutor::executeEngine(), init(), recordLog(), writeCompleteLogToFileAndClear(), and writeLogEntriesToFileAndRemove().

enum { ... } GTXabsl2Profiler::profilerCollectMode

| The Xabsl-Output-Symbols for the Profiler. Referenced by GT2005HeadControl::execute(), GTXabsl2EngineExecutor::executeEngine(), GT2005BehaviorControl::postExecute(), and registerSymbols().

enum { ... } GTXabsl2Profiler::profilerWriteMode

| Referenced by GT2005HeadControl::execute(), GTXabsl2EngineExecutor::executeEngine(), GT2005BehaviorControl::postExecute(), and registerSymbols().

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

- Tools/Xabsl2/GT/GTXabsl2Profiler/GTXabsl2Profiler.h
- Tools/Xabsl2/GT/GTXabsl2Profiler/GTXabsl2Profiler.cpp