Dokumentation
UC_GetEventStatistics
array UC_GetEventStatistics (int $InstanzID)
Parameterliste
| InstanzID | ID zum Util Control |
Rückgabewert
Ein Array mit folgenden key => value Paaren:
| Index | Typ | Beschreibung |
|---|---|---|
| CyclicUpdateCount | integer | Anzahl der Aktualisierungen zyklischer Ereignisse und Wochenpläne |
| TriggerUpdateCount | integer | Anzahl der Ausführungen ausgelöster Ereignisse |
Beschreibung
Die Funktion wertet die Nachricht EM_UPDATE aus, die ein Ereignis nach jeder Ausführung und bei jeder Neuberechnung seines nächsten Ausführungszeitpunkts versendet, und ordnet sie nach dem Typ des Ereignisses zu. Ausgelöste Ereignisse versenden die Nachricht nur bei ihrer Ausführung, TriggerUpdateCount zählt daher ihre Ausführungen. Zyklische Ereignisse und Wochenpläne zählen zu CyclicUpdateCount, auch wenn ihr nächster Ausführungszeitpunkt neu berechnet wird, ohne dass sie ausgeführt werden, z.B. beim Aktivieren, Deaktivieren oder Ändern des Zeitplans.
Wächst einer der Werte zwischen zwei Abfragen stark an, werden sehr viele Ereignisse ausgeführt, z.B. ausgelöste Ereignisse auf einer Variable, die sehr häufig aktualisiert wird. Die Werte werden im Arbeitsspeicher seit dem Start von IP-Symcon aufsummiert und können nicht zurückgesetzt werden (erst ein Neustart beginnt wieder bei 0).
Die ID der Util Control Instanz liefert z.B. IPS_GetInstanceListByModuleID mit der Modul-GUID {B69010EA-96D5-46DF-B885-24821B8C8DBD}. Existiert InstanzID nicht, schlägt die Funktion mit "Instance #... does not exist" fehl, gehört die Instanz zu einem anderen Modul, mit "Instance does not implement this function".
Beispiel
// ID der Util Control Instanz ermitteln
$id = IPS_GetInstanceListByModuleID('{B69010EA-96D5-46DF-B885-24821B8C8DBD}')[0];
print_r(UC_GetEventStatistics($id));
/* liefert z.B.:
Array
(
[CyclicUpdateCount] => 0
[TriggerUpdateCount] => 0
)
*/