[vz-dev] vzlogger und neue Middleware

Jan Tamm vz at tamms.net
Mon Feb 3 20:41:21 CET 2014


Hallo zusammen,

Am 3. Februar 2014 10:57 schrieb Andreas Goetz <cpuidle at gmail.com>:

>
> Mir ist nicht so richtig klar, wie die doppelten Timestamps zustande
> kommen. Immerhin haben wir je Kanal ms-Auflösung. Kann es sein, dass der
> vzlogger die Timestamps nur sekundenweise erzeugt? Falls ja würde ich
> vielleicht lieber an der Quelle ansetzen?
>
>
Ich habe gerade nachgesehen. Normalerweise wird mit dem Befehl
gettimeofday() gearbeitet und der gibt Mikrosekunden zurück. Ein Sonderfall
ist es, wenn in dem SML Telegramm die Zeit gesetzt ist, da diese nur in
Sekunden aufgelöst wird. Hier könnte man ansetzen, wenn es nur bei den SML
Metern auftritt.

Wenn ich aber in den Logs von Michael stöbere (S0):
[Jan 30 12:58:21][chn2] Adding reading to queue (value=2578.42
ts=1391083101.916)
[Jan 30 12:58:21][AVG]  [0] 1497.367362 @ 1391083084.045879
[Jan 30 12:58:21][AVG]  [1] 1501.099557 @ 1391083086.445109
[Jan 30 12:58:21][AVG]  [2] 1505.988990 @ 1391083088.838455
[Jan 30 12:58:21][AVG]  [3] 1508.663455 @ 1391083091.227559
[Jan 30 12:58:21][AVG]  [4] 1512.434673 @ 1391083093.610811
[Jan 30 12:58:21][AVG]  [5] 1513.729525 @ 1391083095.991014
[Jan 30 12:58:21][AVG]  [6] 1516.278691 @ 1391083098.366242
[Jan 30 12:58:21][AVG]  [7] 2578.416260 @ 1391083101.915582
[Jan 30 12:58:21][AVG]  [8] RESULT 1641.747314 @ 1391083101.915582
--> Alle Logs mit Millisekunden.

[Jan 30 12:58:21][chn2] ==> number of tuples: 1
[Jan 30 12:58:21][chn2] compare: 0 1391083100000 1391083100000.000000
--> Ab hier nur noch in Sekunden. Die Umrechnungen im Code mit
double timestamp = it->tvtod() * 1000;
wobei tvtod() vom Typ Double ist ist meiner Meinung nach auch korrekt.

[Jan 30 12:58:21][chn2] JSON request body: [ [
1391083100000.000000,1641.747314 ] ]
[Jan 30 12:58:21][chn2] Buffer dump (size=0 keep=32): {}
[Jan 30 12:58:21][chn2] CURL: About to connect() to localhost port 80 (#0)
[Jan 30 12:58:21][chn2] CURL:   Trying 127.0.0.1...
[Jan 30 12:58:21][chn2] CURL: connected
[Jan 30 12:58:21][chn2] CURL: Connected to localhost (127.0.0.1) port 80
(#0)
[Jan 30 12:58:22][chn2] CURL: Sent 41 bytes..
[Jan 30 12:58:22][chn2] CURL: Sent '[ [ 1391083100000.000000,1641.747314 ]
]' bytes

In meinen Logs ist das aber nicht so, dort sind die Timestamps nicht
gerundet. Kann sich das jemand erklären?

--Jan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20140203/d3ce01d8/attachment.html>


More information about the volkszaehler-dev mailing list