« Zurück zu Produkt

Dokumentation

IPS_GetInstanceMessageStatistics

 array IPS_GetInstanceMessageStatistics ()

Rückgabewert

Ein Array mit einem Eintrag je Instanz. Die Reihenfolge der Einträge ist nicht garantiert. Jeder Eintrag enthält folgende key => value Paare:

Index Typ Beschreibung
InstanceID integer ID der empfangenden Instanz
Count integer Anzahl der verarbeiteten Nachrichten
Duration integer Gesamtdauer der Verarbeitung in Millisekunden
MaxDuration integer Längste Verarbeitung einer Nachricht in Millisekunden

Beschreibung

Warning

Diese Funktion ist nur für den internen Gebrauch vorgesehen und kann sich jederzeit ohne Ankündigung ändern oder entfallen.

Die Funktion liefert die Statistik der Nachrichtenverarbeitung je Instanz. Erfasst wird, wie viele Nachrichten eine Instanz in ihrer MessageSink verarbeitet hat und wie lange dies gedauert hat. Die Werte werden seit dem Start von IP-Symcon aufsummiert, Dauern werden auf ganze Millisekunden abgerundet. Die aktuelle Anzahl der noch nicht verarbeiteten Nachrichten liefert IPS_GetInstanceMessageQueueSize.

Warning

Die Statistik wird nur erfasst, wenn der Spezialschalter "MessageQueueWatch" aktiviert ist (z.B. über IPS_SetOption). Andernfalls schlägt die Funktion mit "This function is only available if the special option 'MessageQueueWatch' is enabled!" fehl.

Ist "MessageQueueWatch" aktiviert, wird zusätzlich eine Meldung ins Log geschrieben, wenn die Verarbeitung einer Nachricht länger als "MessageQueueWatchLimit" Millisekunden dauert (0 = deaktiviert).

Beispiel

// Durchschnittliche Verarbeitungsdauer der Nachrichten je Instanz ausgeben
foreach (IPS_GetInstanceMessageStatistics() as $entry) {
    printf("#%d: %d Nachrichten, %.1f ms im Schnitt, max. %d ms\n", $entry['InstanceID'], $entry['Count'], $entry['Duration'] / $entry['Count'], $entry['MaxDuration']);
}

/* liefert z.B.:
#23456: 1520 Nachrichten, 0.4 ms im Schnitt, max. 37 ms
*/
Haben Sie noch Fragen?