add grok as a top level parser, still need README

This commit is contained in:
Max U
2018-06-25 15:32:27 -07:00
parent 95edfcbf99
commit e1e6a08f39
4 changed files with 84 additions and 75 deletions

View File

@@ -6,6 +6,7 @@ import (
"strings"
"testing"
"github.com/influxdata/telegraf/plugins/parsers"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/assert"
)
@@ -28,7 +29,14 @@ func TestJSONParserCompile(t *testing.T) {
DataFormat: "json",
Tags: []string{"parent_ignored_child"},
}
r.compileParser()
parserConfig := parsers.Config{
DataFormat: r.DataFormat,
TagKeys: r.Tags,
}
nParser, err := parsers.NewParser(&parserConfig)
r.parser = nParser
assert.NoError(t, err)
r.Gather(&acc)
log.Printf("acc: %v", acc.Metrics[0].Tags)
assert.Equal(t, map[string]string{"parent_ignored_child": "hi"}, acc.Metrics[0].Tags)
@@ -41,15 +49,25 @@ func TestGrokParser(t *testing.T) {
r := Reader{
Filepaths: []string{testDir + "/reader/testfiles/grok_a.log"},
DataFormat: "grok",
Patterns: []string{"%{COMMON_LOG_FORMAT}"},
}
r.compileParser()
err := r.Gather(&acc)
parserConfig := parsers.Config{
DataFormat: r.DataFormat,
TagKeys: r.Tags,
Patterns: []string{"{%COMMON-LOG-FORMAT}"},
}
nParser, err := parsers.NewParser(&parserConfig)
r.parser = nParser
assert.NoError(t, err)
log.Printf("path: %v", r.Filepaths[0])
err = r.Gather(&acc)
log.Printf("err: %v", err)
log.Printf("metric[0]_tags: %v, metric[0]_fields: %v", acc.Metrics[0].Tags, acc.Metrics[0].Fields)
log.Printf("metric[1]_tags: %v, metric[1]_fields: %v", acc.Metrics[1].Tags, acc.Metrics[1].Fields)
assert.Equal(t, 2, len(acc.Metrics))
t.Error()
}
func getPluginDir() string {