From df6f5adff8e4670bb41083203e59f479914b2751 Mon Sep 17 00:00:00 2001 From: Manuel Imperiale Date: Tue, 12 May 2020 18:19:04 +0200 Subject: [PATCH] MF-1163 - Fix influxdb-reader to use nanoseconds precision (#1171) Signed-off-by: Manuel Imperiale --- readers/influxdb/messages.go | 4 ++-- readers/influxdb/messages_test.go | 4 ++-- writers/influxdb/messages_test.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/readers/influxdb/messages.go b/readers/influxdb/messages.go index 59e86685..3ec02d65 100644 --- a/readers/influxdb/messages.go +++ b/readers/influxdb/messages.go @@ -196,12 +196,12 @@ func parseMessage(names []string, fields []interface{}) senml.Message { } case float64: if name == "time" { - t, err := time.Parse(time.RFC3339, fields[i].(string)) + t, err := time.Parse(time.RFC3339Nano, fields[i].(string)) if err != nil { continue } - v := float64(t.Unix()) + v := float64(t.UnixNano()) / float64(1e9) msgField.SetFloat(v) continue } diff --git a/readers/influxdb/messages_test.go b/readers/influxdb/messages_test.go index 858fb098..e445f6cb 100644 --- a/readers/influxdb/messages_test.go +++ b/readers/influxdb/messages_test.go @@ -59,7 +59,7 @@ func TestReadAll(t *testing.T) { messages := []senml.Message{} subtopicMsgs := []senml.Message{} - now := time.Now().Unix() + now := time.Now().UnixNano() for i := 0; i < msgsNum; i++ { // Mix possible values as well as value sum. count := i % valueFields @@ -78,7 +78,7 @@ func TestReadAll(t *testing.T) { msg.Sum = &sum } - msg.Time = float64(now - int64(i)) + msg.Time = float64(now)/float64(1e9) - float64(i) messages = append(messages, msg) if count == 0 { subtopicMsgs = append(subtopicMsgs, msg) diff --git a/writers/influxdb/messages_test.go b/writers/influxdb/messages_test.go index 82a78214..d50342ed 100644 --- a/writers/influxdb/messages_test.go +++ b/writers/influxdb/messages_test.go @@ -88,7 +88,7 @@ func TestSave(t *testing.T) { _, err := queryDB(dropMsgs) require.Nil(t, err, fmt.Sprintf("Cleaning data from InfluxDB expected to succeed: %s.\n", err)) - now := time.Now().Unix() + now := time.Now().UnixNano() msg := senml.Message{ Channel: "45", Publisher: "2580", @@ -116,7 +116,7 @@ func TestSave(t *testing.T) { msg.Sum = &sum } - msg.Time = float64(now + int64(i)) + msg.Time = float64(now)/float64(1e9) + float64(i) msgs = append(msgs, msg) }