From 89283fa41989a33801e5a526bcacd1cd68f71e6b Mon Sep 17 00:00:00 2001 From: Thomas Roehl Date: Mon, 24 Jan 2022 16:11:37 +0100 Subject: [PATCH] Move publication of metrics into Flush() for NatsSink --- sinks/natsSink.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/sinks/natsSink.go b/sinks/natsSink.go index 55c1558..f9cd7eb 100644 --- a/sinks/natsSink.go +++ b/sinks/natsSink.go @@ -57,31 +57,22 @@ func (s *NatsSink) Init(config sinkConfig) error { func (s *NatsSink) Write(point lp.CCMetric) error { if s.client != nil { - // var tags map[string]string - // var fields map[string]interface{} - // for _, t := range point.TagList() { - // tags[t.Key] = t.Value - // } - // for _, f := range point.FieldList() { - // fields[f.Key] = f.Value - // } - // m, err := protocol.New(point.Name(), tags, fields, point.Time()) - // if err != nil { - // log.Print(err) - // return err - // } _, err := s.encoder.Encode(point) if err != nil { log.Print(err) return err } - s.client.Publish(s.database, s.buffer.Bytes()) - s.buffer.Reset() } return nil } func (s *NatsSink) Flush() error { + if s.client != nil { + if err := s.client.Publish(s.database, s.buffer.Bytes()); err != nil { + return err + } + s.buffer.Reset() + } return nil }