93_DbLog - Umstellung Log-Funktion auf non-blocking

Begonnen von DS_Starter, 18 Dezember 2016, 20:03:56

Vorheriges Thema - Nächstes Thema

Tobias

Wie Joe schon geschrieben hat, bei einem insert ist ein Index eher hinderlich weil dieser noch zum eigentlichen insert gepflegt werden muss. 
Indexe sind nur für select und Updates hilfreich, können aber auch hinderlich sein
Kannst du in jedem SQL dummy Buch nachlesen.

Gesendet von meinem Leap mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

stromer-12

Ich arbeite eigentlich nur mit der history-Tabelle,
aber das der Zeitunterschied bei der current-Tabelle
ohne Index zu mit Index bei den wenigen Datensätzen
so extrem ausfällt hätte ich nicht gedacht.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

#302
Der Index in der Current wird ja nur bei einen neu angelegten Reading erneuert.
Die Current Tabelle hält ja jede Device/Reading Kombination nur einmal vor.

Edith: Ich hatte deswegen auch den Timestamp nicht mit in den Index genommen.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

Zitat von: Tobias am 14 Januar 2017, 19:16:15
Indexe sind nur für select und Updates hilfreich, können aber auch hinderlich sein

Habe jetzt mal in das Modul an genanter Stelle geschaut und da ist das Update mit
WHERE (DEVICE=?) AND (READING=?)
ausgeführt, also greift da mein erstellter Index.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

Zitat von: JoeALLb am 14 Januar 2017, 19:08:14
... das bringt nix, sorry. du scheinst experimentierfreudig zu sein, da du
Dinge gerne abwandelst und etwas eigenes Testest...  da kann ich dich dabei aber nicht unterstützen.
Zum Abschluss würde ich dir daher empfehlen, den Ursprungszustand (löschen des Index) wieder herzustellen.

Also 40 Sekunden geringere SQL-Time mit Index gegenüber ohne Index.
Ich habe den Timestamp nicht in den Index aufgenommen, da der sich bei jeden Update ändert und damit der Index nicht verändert werden braucht.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

ToKa

Hallo zusammen,

seit dem letzten Update habe ich folgende Meldungen im Log:
2017.01.15 13:19:04.989 2: DbLog logdb -> Error: DBD::mysql::st execute_array failed: executing 11 generated 4 errors at ./FHEM/93_DbLog.pm line 1234.

Woran kann das liegen?

Gruß
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

chris1284

plots gehen mit dme letzten update (heute ) auch nciht mehr sauber. man kann keine devices aus dem dblog wählen und somit ist es nicht möglich ein plot zu erstellen.
eine vorschau des dblog wird im svg auch nicht mehr angezeigt

DS_Starter

#307
Hallo Torsten,

mach mal verbose 5 an und schau ob noch weitere Meldungen im Log gibt.
Interessant ist der Block:


2017.01.15 13:40:36.304 5: DbLog LogDB -> ################################################################
2017.01.15 13:40:36.304 5: DbLog LogDB -> ###              New database processing cycle               ###
2017.01.15 13:40:36.305 5: DbLog LogDB -> ################################################################
2017.01.15 13:40:36.305 5: DbLog LogDB -> MemCache contains 21 entries to process
2017.01.15 13:40:36.305 5: DbLog LogDB -> MemCache contains: 2017-01-15 13:40:24|SMA_Energymeter|SMAEM|Bezug_WirkP_Zaehler_Diff: 0.0060|Bezug_WirkP_Zaehler_Diff|0.0060|
......
2017.01.15 13:40:36.351 5: DbLog LogDB -> 21 of 21 events successfully inserted into table history
2017.01.15 13:40:36.367 5: DbLog LogDB -> DbLog_PushAsync finished


Das sollte Aufschluß geben.

@Chris ...Bitte das Attribut DbLogType auf "Current/History" setzen falls nicht gesetzt. Die Current-Tablle ist für die Auswahl "zuständig".

Gruß
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

chris1284

mit der neuen version ist es auch recht witzig wenn man sein plot room mal aktualisiert. die plots sehen immer anderst aus.  ;D

chris1284

Zitat von: DS_Starter am 15 Januar 2017, 13:44:30
@Chris ...Bitte das Attribut DbLogType auf "Current/History" setzen falls nicht gesetzt. Die Current-Tablle ist für die Auswahl "zuständig".
ist gesetzt

DS_Starter

Zitatmit der neuen version ist es auch recht witzig wenn man sein plot room mal aktualisiert. die plots sehen immer anderst aus.  ;D

Kann ich so nicht bestätigen. Sehen bei mir immer gleich aus. :)
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

chris1284

#311
https://forum.fhem.de/index.php/topic,64900.msg561632.html#msg561632

bin nicht alleine. habe sie nochmal geladen, attribut neu gesetzt ohne erfolg. keine einträge im ploteditor,plots hören mittendrin auf (12:00, um 04:00 usw usw), sehen nahc refresh immer anderst aus.

mit der version  93_DbLog.pm          13039 2017-01-10 22:19:58Z DS_Starter  keine probleme!


DS_Starter

Das macht mich aber langsam echt stutzig.
Welche DB setzt du ein ?
Und ich gehe davon aus, dass es nachwie vor mit dem Logging keine Sorgen gibt, richtig ?
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

JoeALLb

Zitat von: chris1284 am 15 Januar 2017, 13:58:19
mit der version  93_DbLog.pm          13039 2017-01-10 22:19:58Z DS_Starter  keine probleme!
Ist das reproduzierbar?
Wenn ich mir das Changelog
https://svn.fhem.de/trac/changeset?reponame=&new=13063%40trunk%2Ffhem%2FFHEM%2F93_DbLog.pm&old=13039%40trunk%2Ffhem%2FFHEM%2F93_DbLog.pm
so ansehe, erkenne ich dort keinen Code, der dafür verantwortlich sein sollte...

Wenn Du im Plot auf "show preprocessed imput" klickts, kommen da sämtliche Daten oder sind dort die Lücken ebenfalls vorhanden?
im svg.js wurden ebenfalls Dinge geändert, aber auch dort sehe ich im Moment keine Ursache...

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

DS_Starter

Hi Joe,

du hast doch auch keine Sorgen mit den SVG's bzw. Vorschauwerten nehme ich an ?

@Chris ... bitte test nochmal die V2.9 aus #265, wie es mit der ausieht.  Dort hatte ich das Problem mit "MySQL has gone" erldigt.


Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter