Ankündigung

Einklappen
Keine Ankündigung bisher.

Packen der trace DB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [callidomus] Packen der trace DB

    Hi Marcus,

    beim packen der trace DB gibt es 2 unschönheiten, die mir nicht so gefallen:
    1. Die Daten, die während des Packens in die DB geschrieben werden sollen, gehen verloren
    2. Die KNX-Verbindung hat "aussetzer"
    Log als Beleg (grep nach warning):
    Code:
    2017-04-17 02:23:37 WARNING  KNX          KNX: lost connection
    2017-04-17 02:23:42 WARNING  KNX          KNX: lost connection
    2017-04-17 02:25:46 WARNING  KNX          KNX: lost connection
    2017-04-17 02:25:55 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:13 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:23 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:29 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:39 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:51 WARNING  KNX          KNX: lost connection
    2017-04-17 02:26:58 WARNING  KNX          KNX: lost connection
    2017-04-17 02:27:08 WARNING  KNX          KNX: lost connection
    2017-04-17 02:27:17 WARNING  KNX          KNX: lost connection
    2017-04-17 02:27:26 WARNING  KNX          KNX: lost connection
    2017-04-17 02:27:39 WARNING  KNX          KNX: lost connection
    2017-04-17 02:27:53 WARNING  KNX          KNX: lost connection
    2017-04-17 02:28:04 WARNING  KNX          KNX: lost connection
    2017-04-17 02:28:09 WARNING  KNX          KNX: lost connection
    2017-04-17 02:28:14 WARNING  KNX          KNX: lost connection
    2017-04-17 02:28:19 WARNING  KNX          KNX: lost connection
    2017-04-17 02:28:25 WARNING  KNX          KNX: lost connection
    Und grep nach trace (etwas gekürzt):
    Code:
    2017-04-17 02:23:00 INFO     Maint        Trace: packing database
    2017-04-17 02:23:00 DEBUG    Maint        Trace: pack period 400 days, pack granularity 24 hours
    2017-04-17 02:23:01 DEBUG    Maint        Trace: pack period 180 days, pack granularity 4 hours
    2017-04-17 02:23:01 DEBUG    Maint        Trace: pack period 32 days, pack granularity 1 hours
    2017-04-17 02:23:04 DEBUG    Core         trace DB: Problem could not get lock
    2017-04-17 02:23:04 INFO     Core         Trace: problem inserting Aussen.Klima.Helligkeit.West.Praesenzmelder (1492388462290, 2647567952, 119993, 0.0, 0.0, 0.0, 0)
    2017-04-17 02:23:10 DEBUG    Maint        Trace: pack period 7 days, pack granularity 0.5 hours
    2017-04-17 02:23:13 DEBUG    Core         trace DB: Problem could not get lock
    2017-04-17 02:23:13 INFO     Core         Trace: problem inserting OG.Waldi.Klima.Temp (1492388571346, 2492605818, 20000, 20.1, 20.1, 20.1, 1)
    2017-04-17 02:23:15 DEBUG    Core         trace DB: Problem could not get lock
    2017-04-17 02:23:15 INFO     Core         Trace: problem inserting OG.Waldi.Klima.Temp.TempGlass (1492388571351, 2299144732, 22002, 20.1, 20.1, 20.1, 1)
    2017-04-17 02:23:15 DEBUG    OG.Waldi.Klima.Feuchte.Taupunkt.Delta-code trace DB: Problem could not get lock
    2017-04-17 02:23:15 INFO     OG.Waldi.Klima.Feuchte.Taupunkt.Delta-code Trace: problem inserting OG.Waldi.Klima.Feuchte.Taupunkt.Delta (1492388571353, 2829727966, 22002, 14.940000000000001, 14.940000000000001, 14.940000000000001, 1)
    2017-04-17 02:23:24 DEBUG    Maint        Trace: pack period 1 days, pack granularity 0.1 hours
    2017-04-17 02:23:26 DEBUG    Core         trace DB: Problem could not get lock
    2017-04-17 02:23:26 INFO     Core         Trace: problem inserting EG.KU.Klima.Temp (1492388424611, 2194733903, 180342, 20.8, 20.8, 20.8, 1)
    2017-04-17 02:23:29 DEBUG    EG.KU.Klima.Feuchte.Taupunkt.Delta-code trace DB: Problem could not get lock
    2017-04-17 02:23:29 INFO     EG.KU.Klima.Feuchte.Taupunkt.Delta-code Trace: problem inserting EG.KU.Klima.Feuchte.Taupunkt.Delta (1492388545129, 1061590460, 61847, 14.18, 14.18, 14.18, 1)
    ...
    2017-04-17 02:27:38 DEBUG    Core         trace DB: Problem could not get lock
    2017-04-17 02:27:38 INFO     Core         Trace: problem inserting KG.HK.Kamin.Temperatur (1492388700635, 222317389, 156314, 32.5, 32.5, 32.5, 1)
    2017-04-17 02:27:40 INFO     OG.Bad.Klima.Feuchte.Taupunkt.Delta-code trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388694401, 2894092457, 160483, 12.43, 12.43, 12.43, 1))': database is locked
    2017-04-17 02:27:40 INFO     OG.Bad.Klima.Feuchte.Taupunkt.Delta-code Trace: problem inserting OG.Bad.Klima.Feuchte.Taupunkt.Delta (1492388694401, 2894092457, 160483, 12.43, 12.43, 12.43, 1)
    2017-04-17 02:27:45 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388700912, 1939354298, 158045, 38.0, 38.0, 38.0, 1))': database is locked
    2017-04-17 02:27:45 INFO     Core         Trace: problem inserting KG.HK.Wasser.Temp.Kessel (1492388700912, 1939354298, 158045, 38.0, 38.0, 38.0, 1)
    2017-04-17 02:27:50 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388476276, 220043359, 388850, 43.5, 43.5, 43.5, 1))': database is locked
    2017-04-17 02:27:50 INFO     Core         Trace: problem inserting EG.DE.Klima.Feuchte (1492388476276, 220043359, 388850, 43.5, 43.5, 43.5, 1)
    2017-04-17 02:27:55 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388484942, 2296486070, 385307, 45.5, 45.5, 45.5, 1))': database is locked
    2017-04-17 02:27:55 INFO     Core         Trace: problem inserting DG.BadWest.Klima.Feuchte (1492388484942, 2296486070, 385307, 45.5, 45.5, 45.5, 1)
    2017-04-17 02:28:00 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388484980, 3114247702, 390416, 7.9, 7.9, 7.9, 1))': database is locked
    2017-04-17 02:28:00 INFO     Core         Trace: problem inserting DG.BadWest.Klima.Feuchte.Taupunkt (1492388484980, 3114247702, 390416, 7.9, 7.9, 7.9, 1)
    2017-04-17 02:28:06 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492388626415, 23895650, 254855, 43.39493798434405, 43.24, 43.48, 1.0))': database is locked
    2017-04-17 02:28:06 INFO     Core         Trace: problem inserting KG.HK.Heizung.Temp.Kessel (1492388626415, 23895650, 254855, 43.39493798434405, 43.24, 43.48, 1.0)
    2017-04-17 02:28:16 INFO     Core         trace DB: Problem with '('INSERT INTO num VALUES (?,?,?,?,?,?,?);', (1492365602166, 21308590, 23288840, 16.0, 16.0, 16.0, 1.0))': database is locked
    2017-04-17 02:28:16 INFO     Core         Trace: problem inserting KG.DK.Klima.Temp.Soll (1492365602166, 21308590, 23288840, 16.0, 16.0, 16.0, 1.0)
    Was mir aufgefallen ist: Du setzt in der Zeit irre viele "read" auf den Bus ab - warum? (ist nur ein kleiner Ausschnitt):
    Code:
    ...
    2017-04-17 02:28:51 INFO     Core         KNX: 1.1.254 13/2/3 write 7.79
    2017-04-17 02:28:51 INFO     Core         KNX: 1.1.254 13/2/2 write 7.78000020980835
    2017-04-17 02:28:51 INFO     Core         KNX: callidomus 4/0/211 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 12/0/141 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 4/0/211 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.15 4/0/211 response False
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 0/1/231 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 0/1/231 read
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 2/1/109 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 2/1/109 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 1/7/100 write 43.24
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.4 2/1/109 response False
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 9/1/110 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 9/1/110 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.4 9/1/110 response False
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 5/1/9 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 5/1/9 read
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.5 5/1/9 response False
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 5/3/100 response False
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 5/3/100 response False
    2017-04-17 02:28:52 INFO     Core         KNX: callidomus 12/0/140 response False
    2017-04-17 02:28:52 INFO     Core         KNX: 1.1.254 12/0/140 response False
    ...
    Ich finde, das ist ziemlich störend, und es passiert jede Nacht. Da reads im allgemeinen nicht seiteneffektfrei sind, würde ich schon gerne wissen, wann irgendwelche Read-Kaskaden durch mein Haus laufen.

    Noch was konstruktives zu Punkt 1:
    Kannst Du nicht während des packens so was machen wie (pseudocode):
    • move trace.db nach pack.db
    • create trace.db
    • packen der pack.db
    • dump der (neuen) trace.db
    • insert des dump in die pack.db
    • move pack.db nach trace.db
    Das würde nicht sicherstellen, dass keine Werte verloren gehen, aber es würde die Anzahl der fehlgeschlagenen inserts stark vermindern, da nur noch die Inserts zwischen dem 1. move/create verloren gehen würden und die nach dem dump bis zum move (sollte alles wesentlich schneller gehen als die Zeit zum packen.

    Gruß, Waldemar

    OpenKNX www.openknx.de

    #2
    Hallo Waldemar,

    Zitat von mumpf Beitrag anzeigen
    [*]Die Daten, die während des Packens in die DB geschrieben werden sollen, gehen verloren
    das ist eine falsche Schlussfolgerung. Die Daten gehen nicht verloren, sie werden gecached und später eingefügt.


    Zitat von mumpf Beitrag anzeigen
    [*]Die KNX-Verbindung hat "aussetzer"
    Wie hoch ist die Load auf dem System, zu der Zeit?
    Die Reads werden bei einem Reconnect durchgeführt, da sich ja der Zustand geändert haben kann.

    Bis bald

    Marcus

    Kommentar


      #3
      Zitat von callidomus Beitrag anzeigen
      das ist eine falsche Schlussfolgerung. Die Daten gehen nicht verloren, sie werden gecached und später eingefügt.
      Ok, wenn das so ist, will ich nichts gesagt haben

      Zitat von callidomus Beitrag anzeigen
      Wie hoch ist die Load auf dem System, zu der Zeit?
      Ich werde das morgen früh mal schauen...

      Zitat von callidomus Beitrag anzeigen
      Die Reads werden bei einem Reconnect durchgeführt, da sich ja der Zustand geändert haben kann.
      Hmmm, einerseits hast Du recht - andererseits kämpfe ich bei den reads immer mit dem Problem, dass ich am Item nicht sagen kann, dass es zwischen write und reply unterscheidet (und entsprechend beim reply nicht triggert). Damit gibt es nachts möglicherweise unerwartete Trigger + Aktionen, die ich nicht will...
      Wenn ich callidomus neu starte, habe ich das zwar auch nicht im Griff, aber das mach ich zu einer Zeit, wo unerwartete Aktionen nicht stören.

      Ich melde mich wegen der System Load,
      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Hi,
        wie kann man sich die Load den im Zeitfenster 02:20 bis 02:40 anzeigen lassen mit einem Diagramm?
        Vg
        Jürgen

        Kommentar


          #5
          Hallo Jürgen,

          man kann das Zeitfenster nicht so genau angeben. Ich würde '6h' als Start und '5h' als Ende angeben und um 8:00 nachsehen.
          Davon abgesehen werden in dem Fenster maximal 5 Werte erfasst.

          Bis bald

          Marcus

          Kommentar


            #6
            Hi,

            ich wollte mir die Load eigentlich per script in 15 Sekunden-Takt ausgeben lassen, habe aber vergessen, das letzte Nacht zu machen. Mach ich dann erst heute Nacht.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar


              #7
              Hi,

              sar wäre ein alternative für solche fragen um performance daten aus der vergangenheit sich anzuschauen. Kostet ca. 50MB Plattenplatz für die Daten.

              Vielleicht guckst du dir das mal an Marcus.

              Viele Grüsse
              Jürgen

              Kommentar

              Lädt...
              X