Lade...
 

CX_PROFILE_MANAGER

CX_PROFILE_MANAGER

Klassenhierarchie
Beschreibung:

Der Profile Manager steuert das Profilen, d.h. das Messen der Zeit von einzelnen Befehlen, Datenbankoperationen etc. Bis Version 4.1 war hierfür der InstantView® Befehl Profile zuständig.

Ein Profile Manager Objekt ist in der Lage, sich als String darzustellen und darin den derzeitigen Profiling Status wiederzugeben. Dieser ist entweder OFF oder listet alle Levels durch Kommata getrennt auf.

Code-Beispiel:
GetManager(PROFILE)          // Profile-Manager-Objekt holen // Das Profile-Manager-Objekt befindet sich nun auf dem Stack String // Objekt als String darstellen => Status ermitteln (z.B. "OFF")

 

Ausführliches Code-Beispiel:

Var(filename, flags) "profile.xml" -> filename (-1) -> flags //-1 = 0xFFFFFFFF Profile everything filename GetManager(PROFILE) Put(FileName()) flags GetManager(PROFILE) Call(Start) //Start profiling // ... do stuff GetManager(PROFILE) Call(Stop) //Stop profiling and close file //Setup XML transformation rules CreateTransObject(CX_XML_PROCESSOR) -> xmlProcessor "statement" CX_IV_STATEMENT "@node,entryName,code,uniqueID,time,starttime" "subTransactions" "transaction" xmlProcessor Call(SetTransformRule) "define" CX_IV_MACRO "@node,entryName,name,uniqueID,time,starttime,module,module" "subTransactions" "transaction" xmlProcessor Call(SetTransformRule) "trace" CX_FUNCTION_TRACE "function,uniqueID,time,starttime" "subTransactions" "transaction" xmlProcessor Call(SetTransformRule) "traceinfo" CX_FUNCTION_TRACE "@contents,comment,time,starttime" "subTransactions" "transaction" xmlProcessor Call(SetTransformRule) "message" CX_IV_MESSAGE "@node,entryName,name,uniqueID,time,starttime,module,module" "subTransactions" "transaction" xmlProcessor Call(SetTransformRule) //Prepare root element Var(root) CreateTransObject(CX_PROFILING_SESSION) -> root 0.0 root Put(starttime) //set starttime for root element //Load tree from XML file filename root xmlProcessor Call(Parse) //Calculate durations root "subTransactions" "duration" GetManager(PROFILE) Call(CalculateDurations) //Display the structure in some tree widget ClearObox root FillObox

 

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
CalculateDurations   OBJECT, STRING, STRING    
DisableBufferedOutput       Puffern der Profile-Ausgaben aus-/einschalten.
FileName *     Dateinamen der Protokolldatei setzen und auslesen
FindHotspots   OBJECT, INTEGER
COLLECTION<CX_OSTORE_PROFILING_DATA>
 
FindIdleHotspots   OBJECT, INTEGER
COLLECTION<CX_OSTORE_PROFILING_DATA>
 
GetCounter   STRING INTEGER Liest einen bestimmten ObjectStore Counter aus
ResetCounters       Setzt alle ObjectStore Counter wieder zurück
SetCountersEnabled   INTEGER (TRUE | FALSE)   Aktiviert oder deaktiviert die ObjectStore Counter
Start   INTEGER   Profiling starten
Stop       Profiling beenden

* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion

 

Verwendung in AppsWH
Modul Kurzbeschreibung
profiling.mod Dieses Modul steuert das Profiling beliebigen InstantView®-Codes