Dokumentation
IPS_GetTraceIDList
array IPS_GetTraceIDList (int $ObjektID)
Parameterliste
| ObjektID | ID des Objekts, dessen Trace-Einträge geliefert werden sollen |
Rückgabewert
Ein Array mit den IDs (TraceID) der aufbewahrten Trace-Einträge des Objekts, der älteste zuerst.
Beschreibung
Der Kernel zeichnet in Traces auf, was was ausgelöst hat: Jeder Eintrag steht für einen Vorgang – z.B. das Schreiben einer Variable, das dadurch ausgelöste Ereignis, dessen Aktion bzw. Skript, ein RequestAction, einen Timer oder eine Anfrage an den WebServer – und verweist über ParentID auf den Eintrag, der ihn verursacht hat, sowie über ChildIDs auf die Einträge, die er selbst verursacht hat. So entsteht für jede Ursache ein Baum, mit dem sich nachvollziehen lässt, warum sich z.B. eine Variable geändert hat.
Die Funktion liefert die IDs aller aufbewahrten Einträge, die dem Objekt ObjektID zugeordnet sind – z.B. die Schreibvorgänge einer Variable oder die Ausführungen eines Ereignisses. Das sind höchstens die letzten 25 Einträge. Für ein Objekt ohne Einträge oder eine nicht vorhandene ID wird ein leeres Array geliefert. Wird als ObjektID 1 übergeben, werden die IDs aller aufbewahrten Einträge in beliebiger Reihenfolge geliefert.
Die Einträge selbst und ihre Ursachenkette liefert IPS_GetTraceList.
Traces werden nur im Arbeitsspeicher gehalten und gehen bei einem Neustart verloren. Pro Objekt werden die letzten 25 Einträge aufbewahrt, für Einträge ohne Objekt (z.B. WebServer) insgesamt die letzten 1000. Ein älterer Eintrag bleibt so lange erhalten, wie noch ein aufbewahrter Eintrag von ihm abstammt, damit Ketten vollständig bleiben. Beim Löschen eines Objekts werden seine Einträge entfernt. Zeichenketten in Data werden auf 100 Bytes gekürzt und mit "..." markiert.
Beispiel
print_r(IPS_GetTraceIDList(10018));
/* liefert z.B.:
Array
(
[0] => 1
[1] => 2
)
*/