Apptime: Unterschied zwischen den Versionen
K (Erklärungen der Ausgabewerte ergänzt) |
K (Randnotiz wegen (früherer, jetzt im Modul korrigierter) Parameterschreibweise "funktion" entfernt) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
|ModOwner=Martin/martinp876 ({{Link2FU|251|Forum}}/[[Benutzer Diskussion:Martinp876|Wiki]]) | |ModOwner=Martin/martinp876 ({{Link2FU|251|Forum}}/[[Benutzer Diskussion:Martinp876|Wiki]]) | ||
}} | }} | ||
Mit dem Befehl [[apptime]] wird das Protokollieren von Ausführungszeiten von Modulen und Funktionen gestartet. '''apptime''' hilft, herauszufinden, WER blockiert; [[perfmon]] ist der Indikator, DASS ETWAS blockiert (siehe diesen {{Link2Forum|Topic=39253|Message=314155}} im Forum). | |||
Mit dem Befehl [[apptime]] wird das Protokollieren von Ausführungszeiten von Modulen und Funktionen gestartet. apptime hilft | |||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 19: | Zeile 18: | ||
=== Beenden === | === Beenden === | ||
Um ''apptime'' zu beenden, muss | Um ''apptime'' zu beenden, muss FHEM neu gestartet werden. | ||
Die aufgelaufenen protokollierten Werte können mit dem Befehl | Die aufgelaufenen protokollierten Werte können mit dem Befehl | ||
Zeile 39: | Zeile 38: | ||
<pre> | <pre> | ||
name: Entity, für die es ausgeführt wird | name: Entity, für die es ausgeführt wird | ||
Wenn 'tmr-' vor dem Namen steht ist es durch einen Timer (InternalTimer) aufgerufen worden. | Wenn 'tmr-' vor dem Namen steht, ist es durch einen Timer (InternalTimer) aufgerufen worden. | ||
function: Name der Funktion, die ausgeführt wird | |||
param max call: Input-Parameter an die Funktion beim längsten Aufruf | param max call: Input-Parameter an die Funktion beim längsten Aufruf | ||
max: maximale Laufzeit in ms | max: maximale Laufzeit in ms | ||
Zeile 48: | Zeile 47: | ||
</pre> | </pre> | ||
Durch Angabe eines Parameters | Durch Angabe eines Parameters | ||
:<code>apptime [count| | :<code>apptime [count|function|average|max|name|total]</code> | ||
wird die Tabelle nach den Werten der entsprechenden Spalte sortiert. | wird die Tabelle nach den Werten der entsprechenden Spalte sortiert. | ||
Soll die komplette Tabelle ausgegeben werden, muss zusätzlich | Soll die komplette Tabelle ausgegeben werden, muss zusätzlich zu einem Spaltennamen für die Sortierung noch der Parameter ''all'' angegeben werden (z.B.): | ||
:<code>apptime count all</code> | :<code>apptime count all</code> | ||
Aktuelle Version vom 1. März 2021, 09:13 Uhr
apptime | |
---|---|
Zweck / Funktion | |
Ausführungszeit von Applikationen (Modulen) protokollieren | |
Allgemein | |
Typ | Befehl |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Sonstiges |
Modulname | 98_apptime.pm |
Ersteller | Martin/martinp876 (Forum /Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Mit dem Befehl apptime wird das Protokollieren von Ausführungszeiten von Modulen und Funktionen gestartet. apptime hilft, herauszufinden, WER blockiert; perfmon ist der Indikator, DASS ETWAS blockiert (siehe diesen Beitrag im Forum).
Voraussetzungen
Keine.
Anwendung
Aktivieren
Die Überwachung der Ausführungszeiten wird mit dem Befehl apptime (einzugeben in das Befehlseingabefeld) gestartet.
Beenden
Um apptime zu beenden, muss FHEM neu gestartet werden.
Die aufgelaufenen protokollierten Werte können mit dem Befehl
apptime clear
zurückgesetzt werden.
Auswertung
Die von apptime protokollierten Informationen können durch Eingabe des Befehls
apptime
abgerufen werden. Ein (Beispiel!) Auszug aus der resultierenden Tabelle:
name function max count total average maxDly myJee JeeLink_Read 139 20 298 14.90 0 HASH(myJee) myCUL CUL_Read 76 6 233 38.83 0 HASH(myCUL) ...
Die Felder haben folgende Bedeutung:
name: Entity, für die es ausgeführt wird Wenn 'tmr-' vor dem Namen steht, ist es durch einen Timer (InternalTimer) aufgerufen worden. function: Name der Funktion, die ausgeführt wird param max call: Input-Parameter an die Funktion beim längsten Aufruf max: maximale Laufzeit in ms count: Anzahl der Aufrufe total: akkumulierte Laufzeit der Funktion in ms average: durchschnittliche Laufzeit (total/count) in ms.
Durch Angabe eines Parameters
apptime [count|function|average|max|name|total]
wird die Tabelle nach den Werten der entsprechenden Spalte sortiert.
Soll die komplette Tabelle ausgegeben werden, muss zusätzlich zu einem Spaltennamen für die Sortierung noch der Parameter all angegeben werden (z.B.):
apptime count all