Dokumentation
IPS_GetStatsHistory
string IPS_GetStatsHistory ()
Rückgabewert
JSON kodiertes Array mit einem Eintrag je Stunde (über die JSON-RPC Schnittstelle direkt als Array). Jeder Eintrag enthält folgende key => value Paare:
| Index | Typ | Beschreibung |
|---|---|---|
| TimeStamp | integer | Unix Zeitstempel des Beginns der Stunde |
| array | Je aufgezeichneter Reihe ein Array mit den Schlüsseln Count und Bytes, die jeweils Min, Max und Avg (Minimum, Maximum und Durchschnitt der Stunde) enthalten |
Reihen
| Reihe | Count | Bytes |
|---|---|---|
| WorkingSet | Anzahl der Handles des Prozesses | Belegter Arbeitsspeicher (Working Set) des Prozesses |
| Shared | Anzahl der Threads des Prozesses | Gemeinsam nutzbarer Speicher (Programmdatei, Bibliotheken, OPcache) |
| Allocator | mimalloc: aufgegebene Seiten, sonst 0 | Vom Allokator belegter Speicher (nur mimalloc/jemalloc, sonst 0) |
| Traces | siehe IPS_GetTraceStats | siehe IPS_GetTraceStats |
| SnapshotRingBuffer | siehe IPS_GetSnapshotRingBufferStats | siehe IPS_GetSnapshotRingBufferStats |
| SnapshotBuffer | siehe IPS_GetSnapshotBufferStats (stündlich) | siehe IPS_GetSnapshotBufferStats (stündlich) |
| Settings | siehe IPS_GetSettingsStats (stündlich) | siehe IPS_GetSettingsStats (stündlich) |
| ScriptEngine | siehe IPS_GetThreadStats | siehe IPS_GetThreadStats |
| Medias | siehe IPS_GetMediaStats | siehe IPS_GetMediaStats |
| Variables | siehe IPS_GetVariableStats | siehe IPS_GetVariableStats |
| Instances | siehe IPS_GetInstanceStats | siehe IPS_GetInstanceStats |
| VideoServer | Reserviert, derzeit 0 | Reserviert, derzeit 0 |
Beschreibung
Diese Funktion ist nur für den internen Gebrauch vorgesehen und kann sich jederzeit ohne Ankündigung ändern oder entfallen.
Die Funktion liefert den stündlich zusammengefassten Verlauf der Speicherstatistiken der letzten 7 Tage, z.B. für die Anzeige in der Konsole. Solange IP-Symcon vollständig gestartet ist, werden die Statistiken einmal pro Minute abgetastet und je Stunde zu Minimum, Maximum und Durchschnitt zusammengefasst. Aufwendige Reihen ("SnapshotBuffer" und "Settings") werden nur einmal pro Stunde abgetastet, dort sind alle drei Werte gleich. Reihen ohne Abtastung in einer Stunde fehlen im jeweiligen Eintrag.
Der Verlauf wird nur im Arbeitsspeicher gehalten und ist nach einem Neustart von IP-Symcon leer. Es werden höchstens 168 Einträge (7 Tage) vorgehalten, der aktuelle Eintrag ist der letzte im Array.
In PHP liefert die Funktion den Verlauf als JSON kodierten String, der mit json_decode ausgewertet werden kann. Über die JSON-RPC Schnittstelle wird der Verlauf direkt als Array geliefert.
Alle Werte in Bytes sind in Bytes angegeben. Die Anzahl der Reihen und ihre Bedeutung können sich mit neuen Versionen ändern.
Beispiel
// Arbeitsspeicher der letzten Stunden ausgeben
$history = json_decode(IPS_GetStatsHistory(), true);
foreach (array_slice($history, -3) as $hour) {
printf("%s: %.1f MB (max. %.1f MB)\n", date('d.m.Y H:i', $hour['TimeStamp']), $hour['WorkingSet']['Bytes']['Avg'] / 1048576, $hour['WorkingSet']['Bytes']['Max'] / 1048576);
}
/* liefert z.B.:
26.09.2026 10:00: 182.4 MB (max. 190.1 MB)
26.09.2026 11:00: 184.0 MB (max. 188.7 MB)
26.09.2026 12:00: 183.2 MB (max. 185.9 MB)
*/