Moin Martin,
kannst Du zu apptime eventuell etwas mehr Informationen geben?
name function max count total average param Max call
tmr-OWX_Discover HASH(0x1e6c0b8) 5777 1 5777 5777.00 HASH(0x1e6c0b8)
tmr-OWID_GetValues HASH(0x2033578) 428 2 855 427.50 HASH(0x2033578)
LinkUSBi OWX_Poll 109 32849 2371 0.07 HASH(0x1e6c0b8)
FS_KG_Flur OWXMULTI_AfterExecute 89 33 164 4.97 HASH(0x20acd18); readscratchpadvad; 1; 1; 26.9D0C6A010000.9b; ?; 9;
TS_KG_gross OWTHERM_AfterExecute 75 6 128 21.33 HASH(0x20ad0c0); read; 1; 1; 28.559E87040000.0F; ?; 9;
WHR960 WHR960_Read 72 22809 35790 1.57 HASH(0x20b65b0)
TS_Flur OWTHERM_AfterExecute 66 6 94 15.67 HASH(0x20872e0); read; 1; 1; 28.2E1BBA030000.D9; ?; 9;
TS_Kuehlschrank OWTHERM_AfterExecute 57 6 115 19.17 HASH(0x20ae418); read; 1; 1; 28.198B72040000.59; ?; 9;
TS_GZ OWTHERM_AfterExecute 56 6 60 10.00 HASH(0x2087e80); read; 1; 1; 28.2F4ABA030000.B6; ?; 9;
TS_Gefrierschrank OWTHERM_AfterExecute 55 6 107 17.83 HASH(0x20ad980); read; 1; 1; 28.212772040000.07; ?; 9;
TS_KG_Verteilung OWTHERM_AfterExecute 55 6 59 9.83 HASH(0x20ad528); read; 1; 1; 28.161ABA030000.58; ?; 9;
TS_WHR960_Sole_in OWTHERM_AfterExecute 55 6 85 14.17 HASH(0x20b5768); read; 1; 1; 28.B449BA030000.B1; ?; 9;
TS_WHR960_Luft_in OWTHERM_AfterExecute 54 6 83 13.83 HASH(0x20b51b0); read; 1; 1; 28.0C2E88040000.62; ?; 9;
TS_Bad OWTHERM_AfterExecute 52 6 105 17.50 HASH(0x200cc08); read; 1; 1; 28.7556BA030000.0A; ?; 9;
TS_SZ OWTHERM_AfterExecute 52 6 107 17.83 HASH(0x20b4bf8); read; 1; 1; 10.9AEB01020800.99; ?; 9;
TS_Bue OWTHERM_AfterExecute 51 6 55 9.17 HASH(0x204ddc0); read; 1; 1; 28.8B49BA030000.78; ?; 9;
FS_Bue_Zuluft OWXMULTI_AfterExecute 43 33 123 3.73 HASH(0x204e7b0); readscratchpadvad; 1; 1; 26.930C6A010000.88;
tmr-OWMULTI_GetValues HASH(0x204e7b0) 36 2 65 32.50 HASH(0x204e7b0)
tmr-OWMULTI_GetValues HASH(0x20acd18) 33 2 62 31.00 HASH(0x20acd18)
FileLog_Keller FileLog_Log 32 55 146 2.65 HASH(0x20f5818); HASH(0x20ad0c0)
TS_Bue_Zuluft OWTHERM_AfterExecute 27 6 55 9.17 HASH(0x204e378); read; 1; 1; 28.1FB087040000.EF; ?; 9;
name = aufrufende Funktion?
funktion = aufrufende Routine?
max = maximallaufzeit von name und funktion?
etc.
Das wär super, danke
Gruß Joachim
Hallo Joachim,
name : entity, für die es ausgeführt wird
funktion: 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: accumulierte Laufzeit der Funtion in ms
average: durchschnittliche Laufzeit (total/count) in ms.
wenn 'tmr-' vor dem Namen steht ist es durch einen timer (InternalTimer) aufgerufen worden.
Bei timern es etwas anders. Da ist der
name : Funktion
funktion: parameter der Funktion
param max call: parameter der Funktion
Es werden gerne nur Adressen übergeben.... die sind nicht dekodiert
Gruss Martin
Danke Martin,
dann habe ich es glaube ich begriffen.
Bei max steht der längste Wert, den die Funktion während der Laufzeit jemals gebraucht hat,
und
bei total die gesamtzeit die diese Funktion seit reload apptime verbraucht hat.
In diesem Beispiel:
name function max count total average param Max call
tmr-OWX_Discover HASH(0x23ee0a8) 5877 1 5877 5877.00 HASH
LinkUSBi OWX_Poll 655 28793 2737 0.10 HASH
tmr-OWID_GetValues HASH(0x25b5538) 630 2 1259 629.50 HASH
TS_KG_Flur OWTHERM_AfterExecute 572 6 601 100.17 HASH
FileLog_Keller FileLog_Log 515 118 817 6.92 HASH
WHR960 WHR960_Read 328 18666 32933 1.76 HASH
myDbLog DbLog_Log 274 118 1364 11.56 HASH
TS_Bad OWTHERM_AfterExecute 135 6 164 27.33 HASH
FS_KG_Flur OWXMULTI_AfterExecute 94 33 176 5.33 HASH
TS_KG_Verteilung OWTHERM_AfterExecute 61 6 65 10.83 HASH
TS_WHR960_Sole_in OWTHERM_AfterExecute 59 6 93 15.50 HASH
TS_Bue OWTHERM_AfterExecute 58 6 86 14.33 HASH
TS_WHR960_Sole_out OWTHERM_AfterExecute 57 6 86 14.33 HASH
TS_Gefrierschrank OWTHERM_AfterExecute 56 6 113 18.83 HASH
TS_Flur OWTHERM_AfterExecute 55 6 59 9.83 HASH
TS_GZ OWTHERM_AfterExecute 55 6 84 14.00 HASH
TS_WHR960_Luft_in OWTHERM_AfterExecute 51 6 55 9.17 HASH
FS_Bue_Zuluft OWXMULTI_AfterExecute 48 33 133 4.03 HASH
TS_Kuehlschrank OWTHERM_AfterExecute 40 6 70 11.67 HASH
tmr-OWMULTI_GetValues HASH(0x25d0768) 32 3 78 26.00 HASH
tmr-OWMULTI_GetValues HASH(0x262ecd8) 32 3 75 25.00 HASH
hat zwar tmr-OWX_Discover sehr lange gebraucht, da es allerdings ein einmaliger Aufruf war fällt er nicht ins Gewicht,
Im Gegensatz dazu ist die Funktion WHR960_Read zwar eigentlich kurz, bremst das System aber über die Fülle der Aufrufe deutlich.
Gruß Joachim
korrekt.
Du kannst die Ausgaben sortieren lassen
apptime count
apptime max
apptime total
...
apptime ?
Kritisch für echtzeit sind m.E. besonders lange laufzeiten - die verschieben das timing...
Wo finde ich das apptime :)
Da:
http://forum.fhem.de/index.php/topic,16103.msg111482.html#msg111482
Danke Martin, jetzt habe ich es verstanden.
Gruß Joachim
Hallo Martin,
kann man apptime eigentlich automatisch starten lasen?
Gruß Joachim
schreiben
reload apptime
nach fhem.cfg
Moin Martin,
Das war dann gestern abend der Tunnelblick, define wollte nicht gehen.
Danke
Weihnachten ist zwar vorbei, allerdings hätte ich doch noch einen Wunsch :-)
Kann man die Spalten in apptime "total" "average" usw. klickbar machen? Das wäre der Hit in Tüten!
Hm... Schwer. Es hat kein Frontend....
Du könntest in myutils ein Frontend definieren incl Kommando und Parameter.
Also apptime:maxDly,total,.....
Das sind genau die Funktionen, die ich in mu (myutils) zugänglich mache. Z.b. das anzeigen aller timer in fhem.
Zitat von: martinp876 am 23 Januar 2016, 19:48:55
Hm... Schwer. Es hat kein Frontend....
Du könntest in myutils ein Frontend definieren incl Kommando und Parameter.
Also apptime:maxDly,total,.....
Das sind genau die Funktionen, die ich in mu (myutils) zugänglich mache. Z.b. das anzeigen aller timer in fhem.
Ah ok, also das übersteigt meine (derzeitigen FHEM) Fähigkeiten! Trotzdem Danke!
Hm. Eigentlich nicht schwer. Leider ist mein system immer noch hinüber, dauert noch etwas. Mal sehen, vielleicht bekomme ich es hin.
ich hatte es ja schon begonnen.
schreiben das file in die FHEM dir. dann definiere ein
define mu myUtils
du kannst es als übungsprojekt sehen. es ist sicher einiges enthalten, was du nicht brauchst, aber es ist ausbaufähig, wie du willst.
wenn du es in FHEM editierst wird es automatisch neu geladen. Wenn du es extern editierst musst du ein reload 99_myUtils eingeben.
Die Initialisierung zu ändern bedarf eines neustart von FHEM.
viel Spass.,
Danke Martin ich werde es versuchen!