Apptime: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Forenbeitrag eingearbeitet)
K (Randnotiz wegen (früherer, jetzt im Modul korrigierter) Parameterschreibweise "funktion" entfernt)
 
(5 dazwischenliegende Versionen von 4 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 rauszufinden WER blockiert; [[perfmon]] ist der Indikator DAS ETWAS blockiert ({{Link2Forum|Topic=39253|Message=314155}}).


== Voraussetzungen ==
== Voraussetzungen ==
Zeile 19: Zeile 18:


=== Beenden ===
=== Beenden ===
Um ''apptime'' zu beenden, muss Fhem neu gestartet werden.
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 35: Zeile 34:
  ...
  ...
</pre>
</pre>
{{Randnotiz|RNTyp=y|RNText=Bitte beachten: der Paramter für die Sortierung nach Spalte ''function'' lautet ''fun'''k'''tion''!}}
Die Felder haben folgende Bedeutung:
 
<pre>
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.
</pre>
 
Durch Angabe eines Parameters  
Durch Angabe eines Parameters  
:<code>apptime [count|funktion|average|max|name|total]</code>
:<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 zum Spaltennamen noch der Parameter ''all'' angegeben werden (z.B.):
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>
== Anwendungsbeispiele ==
== Links ==
* ...

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