Autor Thema: 93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)  (Gelesen 61376 mal)

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #735 am: 26 Juni 2018, 17:55:26 »
Hallo Julian,

Zitat
Zur Ermittlung der aktuellen Datenbankgröße habe ich folgende Helfer-Devices definiert

Das gibt es bereits im DbRep. Und auch für alle unterstützen Datenbanken mit entsprechender Abfrage die je nach Typ unterschiedlich sind. Alles nonblocking, falls es länger dauert  ;)

MySQL:  get ... tableinfo
SQLite:  get ... svrinfo
Postgre: get ... svrinfo

Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2882
  • ~ Challenging Innovation ~
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #736 am: 26 Juni 2018, 18:43:40 »
Ah merci, habe ich übersehen, da sie nicht als Getter in der UI angezeigt werden :)


Sent from my iPhone using Tapatalk
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #737 am: 28 Juni 2018, 09:59:49 »
Wurde im Modul etwas für die Selektierung der Datensätze zum Anzeigen von Plots geändert?

Mir ist heute aufgefallen, dass meine Plots nicht mehr um Mitternacht enden, und das, obwohl um 00:00 des Folgetags
ein Eintrag in der Datenbank steht! Dies wurde bisher geplottet!
Nun ist mir aufgefallen, dass auch Einträge um 23:59:59 nicht mehr geplottet werden, lediglich um 23:59:58.
Ein Blick in das SQL-Log verrät den Grund:

  FROM history WHERE 1=1 AND DEVICE  = 'DEVICE' AND READING = 'position' AND TIMESTAMP >= STR_TO_DATE('2018-06-27 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP < STR_TO_DATE('2018-06-27 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP
< STR_TO_DATE('2018-06-27 23:59:59')  führt natürlich zu diesem Ergebnis.

Mir ist im Changelog jedoch diesbezüglich nichts aufgefallen,.... habe ich etwas verpasst?

sG
Joe
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

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #738 am: 28 Juni 2018, 10:18:38 »
Hallo Joe,

Im modul ist schon sehr lange nichts mehr geändert. Der letzt Change von vor ein paar tagen betraf nur ergänzungen in der hilfe.

SG
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #739 am: 28 Juni 2018, 10:42:19 »
Danke Heiko,

vermutlich hängt es mit diesen Changeset  im Modul SVG zusammen.
Zeitstempel:
    25.02.2018 20:55:59 (vor 4 Monaten)
Autor:
    rudolfkoenig
Nachricht:

    98_SVG.pm: correct from/to limits (Forum: #84691)
https://svn.fhem.de/trac/changeset/16275

Jetzt ist nur die Frage, wer recht hat, da es dort ja hauptsächlich um Jahresansichten ging.
Ob man DbLog daraufhin nachziehen muss oder dort noch etwas ändern muss, ist mir im Moment nicht klar.

Jedenfalls sollte ein Tag nicht um 23:59:58 enden, denke ich ;-)


sG Joe
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

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1338
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #740 am: 28 Juni 2018, 10:51:34 »
Wie sieht es mit der Änderung in SVG vom 4.6. aus:
https://forum.fhem.de/index.php/topic,88395.0.html
FHEM 5.8(SVN) auf cubietruck mit HMUSB
FHEM 5.8(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.8(SVN) virtuell mit HMLAN | CUL

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #741 am: 28 Juni 2018, 11:01:00 »
Frage doch in dem thread mal nach. Wenn klar ist das wegen diesem change noch etwas im dblog nachgezogen werdem musd mache ich das gerne, muss nur wissen was.
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #742 am: 02 Juli 2018, 08:00:47 »
Rudi hat uns gebeten, das auf Seite von DbLog zu korrigieren,
da es in SVG einen großen Rattenschwanz nachziehen würde.
Was ich jedoch noch nicht herausgefunden habe ist, mit welchem Aufruf genau SVG die Daten eines Tages bei DbLog "anfordert".
Wenn ich es recht verstehe, müsste DbLog diese Anforderung dann anders umsetzen, um eben nicht die Einschränkung auf "23:59:58"
zu legen... ?!

Stellen wie
$stm2 .= "AND TIMESTAMP < $sqlspec{to_timestamp} ";scheinen erstmal "fast" korrekt ( "AND TIMESTAMP <= "x.x.x 00:00:00" wäre korrekt und würde das alte Verhalten wieder herstellen), wenn  $sqlspec{to_timestamp} mit "...... 00:00:00" vorbelegt wird, aber irgendwo im Code wird das 00:00:00 nochmal abgeändert?!?.

leider komme ich hier mit meinen bescheidenen Perl-Kenntnissen gerade nicht weiter!


sG
Joe
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

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #743 am: 03 Juli 2018, 22:42:37 »
Hallo Joe,

muss ich mir anschauen. Mit meinem SSCam-Modul bin ich erstmal durch und nehme mir dann wieder DbLog/DbRep vor.
Wird aber wahrscheinlich erst nach meinem Urlaub wieder weitergehen.
Es sei denn jemand stellt einen Patch bereit den ich nach Test einfach übernehmen kann.

Grüße
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #744 am: 04 Juli 2018, 08:23:03 »
Hallo Heiko,

ich verfolge deine Entwicklungen hier recht genau, auch das SSCam und das Dashboard-Modul ;-) Spannende sachen, vielleicht steig ich auch wieder um auf die Surveillance-Station!
Aber genug OT.
Ich denke, wir warten hier einfach, denn ich kann keinen sauberen Patch liefern. Vielleicht schaff ich einen Workaround, aber so
dringend ist mir das Thema gerade auch nicht, da ich andere Baustellen habe die den WAF mehr beeinflussen.

Bezüglich Partitionierung bin ich übrigens noch am Testen, ob es sich lohnt, eine zusätzliche "decimal"-Spalte einzufügen, um Dezimalwerte direkt dort stall in "value" abzulegen, denn Berechnungen sind damit auch deutlich schneller... Aber... mal sehen!

sG
Joe
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

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #745 am: 03 September 2018, 22:22:59 »
Hallo Joe, @all,

ich habe die Selectionsanforderung durch das SVG-Modul im DbLog SQL korrigiert.
Dadurch wird der Select nun so ausgeführt:

SELECT DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s'), DEVICE, READING, VALUE
FROM history WHERE 1=1 AND DEVICE  = 'sysmon' AND READING = 'stat_cpu_percent' AND TIMESTAMP >= STR_TO_DATE('2018-09-02 00:00:00', '%Y-%m-%d %H:%i:%s')
AND TIMESTAMP <= STR_TO_DATE('2018-09-02 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP

Sollte m.M. nach jetzt wieder passen.

Die Version könnt ihr aus contrib herunterladen:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Bitte mal testen und Feedback geben.

LG
Heiko
« Letzte Änderung: 03 September 2018, 22:56:40 von DS_Starter »
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #746 am: 04 September 2018, 07:38:33 »
Hallo Heiko,

danke, dass Du das noch am Schirm hattest.

Die Zeile vergisst aber die letzte Sekunde, denn der Tag geht bis 00:00!
Alles von 23:59:59: bis 00:00:00 gehört noch zum alten tagm und der genaue Zeitpunkt 00:00:00 ist der Anfangs UND auch der Endpunkt für den nächsten Tag.

Daher müsste es
AND TIMESTAMP <= STR_TO_DATE('2018-09-03 00:00:00', '%Y-%m-%d %H:%i:%s') heißen.
(wie es vorher auch war. damals noch in dieser Schreibweise)
AND TIMESTAMP < STR_TO_DATE('2018-09-03 00:00:01', '%Y-%m-%d %H:%i:%s') ,
was jedoch nicht ganz korrekt ist, wenn man Millisekunden aktiviert hat!


sG
Joe
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

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #747 am: 04 September 2018, 17:45:05 »
Jetzt ist die letzte Sekunde mit drin.
Der Select dürftr jetzt zufriedenstellend sein:

2018.09.04 17:36:11.040 1: Processing Statement: SELECT
                  TIMESTAMP,
                  DEVICE,
                  READING,
                  VALUE
                   FROM history WHERE 1=1 AND DEVICE  = 'SMA_Energymeter' AND READING = 'Bezug_Wirkleistung'
AND TIMESTAMP >= '2018-09-03 00:00:00' AND TIMESTAMP <= '2018-09-04 00:00:00' ORDER BY TIMESTAMP

Die Version könnt ihr aus contrib herunterladen:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Bitte wieder testen und Feedback geben.

LG,
Heiko
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2793
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #748 am: 12 September 2018, 21:21:31 »
Hat denn mal jemand außer mir diese Änderung bzgl. Datenselektion für SVG ebenfalls getestet ??
ESXi 6.5 auf NUC6i5SYH mit FHEM auf Debian 9/64 Bit  (Stretch), DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, DbLog/DbRep, Log2Syslog, Dashboard (interims)
aktive Mitarbeit:SMAEM, SMAInverter
Kaffeekasse: https://www.paypal.me/HMaaz

Offline JoeALLb

  • Hero Member
  • *****
  • Beiträge: 1430
Antw:93_DbLog - Überlegungen zur Optimierung (RPI und andere Systeme)
« Antwort #749 am: 13 September 2018, 00:44:06 »
Ich habs installiert und kurz angetestet. Bisher nichts negatives aufgefallen, jedoch ist der Test krankheitsbedingt bisher nur oberflächlich ausgefallen...

Sorry.
SG Joe
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