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:

Collaboration graph
[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, int length=1)
void doProfiling (Xabsl2Engine &pEngine)
void recordCollectedLogs ()
void recordCompleteLog ()
void writeXMLtoStream (Out &out)
void exportXMLFile (const char *outf)
bool importLogFile (const char *filename)
std::vector< GTXabsl2ActiveOptiongetActiveOptionsAtFrame (int time)
std::string getOptionName (int optionNumber)
std::string getStateName (int optionNumber, int stateNumber)
int getDepth (char *optionName)
int getDepth (int optionNumber)
int getMaxDepth ()
int getBeginningFramenumber ()
int getLastFramenumber ()
int getNumberofLogEntries ()
std::vector< GTXabsl2ActiveOptiongetActiveOptionsAtNumber (int frameNumber)
GTXabsl2LogEntry getLogEntryAtIndex (int index)
int getFollowingFramenumber (int frame)
int getIndex (int frameNumber)
GTXabsl2LogEntryoperator[] (int i)
int size ()
GTXabsl2ProfilerNameTableEntrygetNameTableEntry (int index)
bool getActiveOption (int index, int maxdepth, GTXabsl2ActiveOption &retour)

Public Attributes

enum GTXabsl2Profiler:: { ... }  profilerCollectMode
 The Xabsl-Output-Symbols for the Profiler.

enum GTXabsl2Profiler:: { ... }  profilerWriteMode

Private Member Functions

void registerOptions (const Xabsl2Option *option, int depth)
void doDepthCount (const Xabsl2Option *option, int depth)
void writeLogToStream (Out &)
void writeCompleteLogToStream (Out &)
void writeNameTableToStream (Out &)

Private Attributes

GTXabsl2ProfilerNameTable nameTable
 NameTable for keeping corresponding names to numerical logs.

std::deque< GTXabsl2LogEntrylog
 Numerical Log where indices are usually corresponding to indices in the NameTable.

std::string outFileName
 Name of the file the Log is written to.

int maxDepth
 Maximal depth of the XABSL-Option-Tree.

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 327 of file GTXabsl2Profiler.h.


Member Enumeration Documentation

anonymous enum
 

The Xabsl-Output-Symbols for the Profiler.

Enumeration values:
dontCollectProfiles 
collectProfiles 

Definition at line 376 of file GTXabsl2Profiler.h.

anonymous enum
 

Enumeration values:
dontWriteProfiles 
writeProfiles 
writeCompleteProfiles 

Definition at line 377 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 outFileName.


Member Function Documentation

void GTXabsl2Profiler::registerOptions const Xabsl2Option option,
int  depth
[private]
 

Definition at line 36 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::append(), GTXabsl2ProfilerNameTable::exists(), GTXabsl2ProfilerNameTable::existsOption(), Xabsl2Array< double >::getName(), Xabsl2Array< Xabsl2State * >::getName(), Xabsl2Array< double >::getSize(), Xabsl2Array< Xabsl2State * >::getSize(), Xabsl2NamedItem::n, nameTable, Xabsl2Option::parameters, and Xabsl2Option::states.

Referenced by init().

Here is the call graph for this function:

void GTXabsl2Profiler::doDepthCount const Xabsl2Option option,
int  depth
[private]
 

Definition at line 60 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::getOptionPosition(), Xabsl2Array< Xabsl2State * >::getSize(), maxDepth, Xabsl2NamedItem::n, nameTable, and Xabsl2Option::states.

Referenced by init().

Here is the call graph for this function:

void GTXabsl2Profiler::writeLogToStream Out  )  [private]
 

Definition at line 116 of file GTXabsl2Profiler.cpp.

References log, and NROFELEMW.

Referenced by recordCollectedLogs().

void GTXabsl2Profiler::writeCompleteLogToStream Out  )  [private]
 

Definition at line 138 of file GTXabsl2Profiler.cpp.

References log.

Referenced by recordCompleteLog().

void GTXabsl2Profiler::writeNameTableToStream Out  )  [private]
 

Definition at line 154 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::getSize(), and nameTable.

Referenced by init().

Here is the call graph for this function:

void GTXabsl2Profiler::registerSymbols Xabsl2Engine  ) 
 

Definition at line 23 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,
int  length = 1
 

Definition at line 14 of file GTXabsl2Profiler.cpp.

References doDepthCount(), Xabsl2Engine::getRootOption(), GTXabsl2ProfilerNameTable::init(), log, nameTable, outFileName, registerOptions(), and writeNameTableToStream().

Referenced by GTXabsl2EngineExecutor::init().

Here is the call graph for this function:

void GTXabsl2Profiler::doProfiling Xabsl2Engine pEngine  ) 
 

Definition at line 74 of file GTXabsl2Profiler.cpp.

References Xabsl2Option::activeState, GTXabsl2ProfilerNameTable::exists(), GTXabsl2ProfilerNameTable::getOptionPosition(), Xabsl2Engine::getRootOption(), Xabsl2Array< double >::getSize(), GTXabsl2ProfilerNameTable::getStatePosition(), log, Xabsl2NamedItem::n, nameTable, Xabsl2Option::parameters, and Xabsl2State::subsequentOption.

Referenced by GTXabsl2EngineExecutor::executeEngine().

Here is the call graph for this function:

void GTXabsl2Profiler::recordCollectedLogs  ) 
 

Definition at line 101 of file GTXabsl2Profiler.cpp.

References outFileName, and writeLogToStream().

Referenced by GTXabsl2EngineExecutor::executeEngine().

Here is the call graph for this function:

void GTXabsl2Profiler::recordCompleteLog  ) 
 

Definition at line 108 of file GTXabsl2Profiler.cpp.

References outFileName, and writeCompleteLogToStream().

Referenced by GTXabsl2EngineExecutor::executeEngine().

Here is the call graph for this function:

void GTXabsl2Profiler::writeXMLtoStream Out out  ) 
 

Definition at line 183 of file GTXabsl2Profiler.cpp.

References log, and nameTable.

Referenced by exportXMLFile().

void GTXabsl2Profiler::exportXMLFile const char *  outf  ) 
 

Definition at line 176 of file GTXabsl2Profiler.cpp.

References writeXMLtoStream().

Here is the call graph for this function:

bool GTXabsl2Profiler::importLogFile const char *  filename  ) 
 

Definition at line 206 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::append(), GTXabsl2ProfilerNameTable::clear(), InStream< InFile, InText >::eof(), InFile::exists(), InFile::getEof(), log, maxDepth, and nameTable.

Here is the call graph for this function:

std::vector< GTXabsl2ActiveOption > GTXabsl2Profiler::getActiveOptionsAtFrame int  time  ) 
 

Definition at line 285 of file GTXabsl2Profiler.cpp.

References log.

std::string GTXabsl2Profiler::getOptionName int  optionNumber  ) 
 

Definition at line 297 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::getSize(), and nameTable.

Here is the call graph for this function:

std::string GTXabsl2Profiler::getStateName int  optionNumber,
int  stateNumber
 

Definition at line 306 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::getSize(), and nameTable.

Here is the call graph for this function:

int GTXabsl2Profiler::getDepth char *  optionName  ) 
 

Definition at line 315 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::existsOption(), GTXabsl2ProfilerNameTable::getOptionPosition(), and nameTable.

Here is the call graph for this function:

int GTXabsl2Profiler::getDepth int  optionNumber  ) 
 

Definition at line 321 of file GTXabsl2Profiler.cpp.

References GTXabsl2ProfilerNameTable::getSize(), and nameTable.

Here is the call graph for this function:

int GTXabsl2Profiler::getMaxDepth  )  [inline]
 

Definition at line 462 of file GTXabsl2Profiler.h.

References maxDepth.

int GTXabsl2Profiler::getBeginningFramenumber  )  [inline]
 

Definition at line 467 of file GTXabsl2Profiler.h.

References log.

int GTXabsl2Profiler::getLastFramenumber  )  [inline]
 

Definition at line 473 of file GTXabsl2Profiler.h.

References log.

int GTXabsl2Profiler::getNumberofLogEntries  ) 
 

std::vector<GTXabsl2ActiveOption> GTXabsl2Profiler::getActiveOptionsAtNumber int  frameNumber  ) 
 

GTXabsl2LogEntry GTXabsl2Profiler::getLogEntryAtIndex int  index  ) 
 

int GTXabsl2Profiler::getFollowingFramenumber int  frame  ) 
 

Definition at line 325 of file GTXabsl2Profiler.cpp.

References log.

int GTXabsl2Profiler::getIndex int  frameNumber  ) 
 

Definition at line 337 of file GTXabsl2Profiler.cpp.

References log.

GTXabsl2LogEntry & GTXabsl2Profiler::operator[] int  i  ) 
 

Definition at line 347 of file GTXabsl2Profiler.cpp.

References log.

int GTXabsl2Profiler::size  ) 
 

Definition at line 350 of file GTXabsl2Profiler.cpp.

References log.

Referenced by GTXabsl2EngineExecutor::executeEngine().

GTXabsl2ProfilerNameTableEntry & GTXabsl2Profiler::getNameTableEntry int  index  ) 
 

Definition at line 353 of file GTXabsl2Profiler.cpp.

References nameTable.

bool GTXabsl2Profiler::getActiveOption int  index,
int  maxdepth,
GTXabsl2ActiveOption retour
 

Definition at line 356 of file GTXabsl2Profiler.cpp.

References log, and nameTable.


Member Data Documentation

GTXabsl2ProfilerNameTable GTXabsl2Profiler::nameTable [private]
 

NameTable for keeping corresponding names to numerical logs.

Definition at line 332 of file GTXabsl2Profiler.h.

Referenced by doDepthCount(), doProfiling(), getActiveOption(), getDepth(), getNameTableEntry(), getOptionName(), getStateName(), importLogFile(), init(), registerOptions(), writeNameTableToStream(), and writeXMLtoStream().

std::deque<GTXabsl2LogEntry> GTXabsl2Profiler::log [private]
 

Numerical Log where indices are usually corresponding to indices in the NameTable.

Definition at line 335 of file GTXabsl2Profiler.h.

Referenced by doProfiling(), getActiveOption(), getActiveOptionsAtFrame(), getBeginningFramenumber(), getFollowingFramenumber(), getIndex(), getLastFramenumber(), importLogFile(), init(), operator[](), size(), writeCompleteLogToStream(), writeLogToStream(), and writeXMLtoStream().

std::string GTXabsl2Profiler::outFileName [private]
 

Name of the file the Log is written to.

Definition at line 338 of file GTXabsl2Profiler.h.

Referenced by GTXabsl2Profiler(), init(), recordCollectedLogs(), and recordCompleteLog().

int GTXabsl2Profiler::maxDepth [private]
 

Maximal depth of the XABSL-Option-Tree.

Definition at line 341 of file GTXabsl2Profiler.h.

Referenced by doDepthCount(), getMaxDepth(), and importLogFile().

const unsigned long* GTXabsl2Profiler::frameNumber [private]
 

A reference to a variable containing the current frame number.

Definition at line 372 of file GTXabsl2Profiler.h.

enum { ... } GTXabsl2Profiler::profilerCollectMode
 

The Xabsl-Output-Symbols for the Profiler.

Referenced by GT2004HeadControl::execute(), GTXabsl2EngineExecutor::executeEngine(), GT2004BehaviorControl::postExecute(), and registerSymbols().

enum { ... } GTXabsl2Profiler::profilerWriteMode
 

Referenced by GT2004HeadControl::execute(), GTXabsl2EngineExecutor::executeEngine(), GT2004BehaviorControl::postExecute(), and registerSymbols().


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 20:08:20 2004 for GT2004 by doxygen 1.3.6