fix: add newline in execd for prometheus parsing (#10463)

This commit is contained in:
Joshua Powers 2022-01-20 08:39:24 -07:00 committed by GitHub
parent 5ab466464d
commit 61214bd33b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions

View File

@ -14,6 +14,7 @@ import (
"github.com/influxdata/telegraf/plugins/inputs"
"github.com/influxdata/telegraf/plugins/parsers"
"github.com/influxdata/telegraf/plugins/parsers/influx"
"github.com/influxdata/telegraf/plugins/parsers/prometheus"
)
const sampleConfig = `
@ -100,10 +101,17 @@ func (e *Execd) cmdReadOut(out io.Reader) {
return
}
_, isPrometheus := e.parser.(*prometheus.Parser)
scanner := bufio.NewScanner(out)
for scanner.Scan() {
metrics, err := e.parser.Parse(scanner.Bytes())
data := scanner.Bytes()
if isPrometheus {
data = append(data, []byte("\n")...)
}
metrics, err := e.parser.Parse(data)
if err != nil {
e.acc.AddError(fmt.Errorf("parse error: %w", err))
}