Skip unserializable metric in influxDB UDP output (#4534)

This commit is contained in:
Daniel Nelson
2018-08-14 13:36:29 -07:00
committed by Greg
parent 763dc6990c
commit fa30f568ec
5 changed files with 119 additions and 82 deletions

View File

@@ -2,7 +2,6 @@ package influx
import (
"bytes"
"fmt"
"io"
"log"
@@ -54,17 +53,11 @@ func (r *reader) Read(p []byte) (int, error) {
r.offset += 1
if err != nil {
r.buf.Reset()
switch err.(type) {
case *MetricError:
// Since we are serializing an array of metrics, don't fail
if err != nil {
// Since we are serializing multiple metrics, don't fail the
// the entire batch just because of one unserializable metric.
log.Printf(
"D! [serializers.influx] could not serialize metric %q: %v; discarding metric",
metric.Name(), err)
log.Printf("E! [serializers.influx] could not serialize metric: %v; discarding metric", err)
continue
default:
fmt.Println(err)
return 0, err
}
}
break