Skip to content
Snippets Groups Projects
Commit 9540a653 authored by Cameron Sparr's avatar Cameron Sparr
Browse files

Update influxdb dependency for new models.Tags

parent cace663b
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,7 @@ github.com/eclipse/paho.mqtt.golang 0f7a459f04f13a41b7ed752d47944528d4bf9a86 ...@@ -19,7 +19,7 @@ github.com/eclipse/paho.mqtt.golang 0f7a459f04f13a41b7ed752d47944528d4bf9a86
github.com/go-sql-driver/mysql 1fca743146605a172a266e1654e01e5cd5669bee github.com/go-sql-driver/mysql 1fca743146605a172a266e1654e01e5cd5669bee
github.com/gobwas/glob 49571a1557cd20e6a2410adc6421f85b66c730b5 github.com/gobwas/glob 49571a1557cd20e6a2410adc6421f85b66c730b5
github.com/golang/protobuf 552c7b9542c194800fd493123b3798ef0a832032 github.com/golang/protobuf 552c7b9542c194800fd493123b3798ef0a832032
github.com/golang/snappy 427fb6fc07997f43afa32f35e850833760e489a7 github.com/golang/snappy d9eb7a3d35ec988b8585d4a0068e462c27d28380
github.com/gonuts/go-shellquote e842a11b24c6abfb3dd27af69a17f482e4b483c2 github.com/gonuts/go-shellquote e842a11b24c6abfb3dd27af69a17f482e4b483c2
github.com/gorilla/context 1ea25387ff6f684839d82767c1733ff4d4d15d0a github.com/gorilla/context 1ea25387ff6f684839d82767c1733ff4d4d15d0a
github.com/gorilla/mux c9e326e2bdec29039a3761c07bece13133863e1e github.com/gorilla/mux c9e326e2bdec29039a3761c07bece13133863e1e
...@@ -27,7 +27,7 @@ github.com/hailocab/go-hostpool e80d13ce29ede4452c43dea11e79b9bc8a15b478 ...@@ -27,7 +27,7 @@ github.com/hailocab/go-hostpool e80d13ce29ede4452c43dea11e79b9bc8a15b478
github.com/hashicorp/consul 5aa90455ce78d4d41578bafc86305e6e6b28d7d2 github.com/hashicorp/consul 5aa90455ce78d4d41578bafc86305e6e6b28d7d2
github.com/hpcloud/tail b2940955ab8b26e19d43a43c4da0475dd81bdb56 github.com/hpcloud/tail b2940955ab8b26e19d43a43c4da0475dd81bdb56
github.com/influxdata/config b79f6829346b8d6e78ba73544b1e1038f1f1c9da github.com/influxdata/config b79f6829346b8d6e78ba73544b1e1038f1f1c9da
github.com/influxdata/influxdb e094138084855d444195b252314dfee9eae34cab github.com/influxdata/influxdb fc57c0f7c635df3873f3d64f0ed2100ddc94d5ae
github.com/influxdata/toml af4df43894b16e3fd2b788d01bd27ad0776ef2d0 github.com/influxdata/toml af4df43894b16e3fd2b788d01bd27ad0776ef2d0
github.com/influxdata/wlog 7c63b0a71ef8300adc255344d275e10e5c3a71ec github.com/influxdata/wlog 7c63b0a71ef8300adc255344d275e10e5c3a71ec
github.com/kardianos/osext 29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc github.com/kardianos/osext 29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc
...@@ -56,7 +56,7 @@ github.com/wvanbergen/kafka 46f9a1cf3f670edec492029fadded9c2d9e18866 ...@@ -56,7 +56,7 @@ github.com/wvanbergen/kafka 46f9a1cf3f670edec492029fadded9c2d9e18866
github.com/wvanbergen/kazoo-go 0f768712ae6f76454f987c3356177e138df258f8 github.com/wvanbergen/kazoo-go 0f768712ae6f76454f987c3356177e138df258f8
github.com/yuin/gopher-lua bf3808abd44b1e55143a2d7f08571aaa80db1808 github.com/yuin/gopher-lua bf3808abd44b1e55143a2d7f08571aaa80db1808
github.com/zensqlmonitor/go-mssqldb ffe5510c6fa5e15e6d983210ab501c815b56b363 github.com/zensqlmonitor/go-mssqldb ffe5510c6fa5e15e6d983210ab501c815b56b363
golang.org/x/crypto 5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3 golang.org/x/crypto c197bcf24cde29d3f73c7b4ac6fd41f4384e8af6
golang.org/x/net 6acef71eb69611914f7a30939ea9f6e194c78172 golang.org/x/net 6acef71eb69611914f7a30939ea9f6e194c78172
golang.org/x/text a71fd10341b064c10f4a81ceac72bcf70f26ea34 golang.org/x/text a71fd10341b064c10f4a81ceac72bcf70f26ea34
gopkg.in/dancannon/gorethink.v1 7d1af5be49cb5ecc7b177bf387d232050299d6ef gopkg.in/dancannon/gorethink.v1 7d1af5be49cb5ecc7b177bf387d232050299d6ef
......
...@@ -829,12 +829,15 @@ func (c *Config) addInput(name string, table *ast.Table) error { ...@@ -829,12 +829,15 @@ func (c *Config) addInput(name string, table *ast.Table) error {
return nil return nil
} }
// buildAggregator TODO doc // buildAggregator parses Aggregator specific items from the ast.Table,
// builds the filter and returns a
// models.AggregatorConfig to be inserted into models.RunningAggregator
func buildAggregator(name string, tbl *ast.Table) (*models.AggregatorConfig, error) { func buildAggregator(name string, tbl *ast.Table) (*models.AggregatorConfig, error) {
unsupportedFields := []string{"tagexclude", "taginclude"} unsupportedFields := []string{"tagexclude", "taginclude"}
for _, field := range unsupportedFields { for _, field := range unsupportedFields {
if _, ok := tbl.Fields[field]; ok { if _, ok := tbl.Fields[field]; ok {
// TODO raise error because field is not supported return nil, fmt.Errorf("%s is not supported for aggregator plugins (%s).",
field, name)
} }
} }
...@@ -926,13 +929,16 @@ func buildAggregator(name string, tbl *ast.Table) (*models.AggregatorConfig, err ...@@ -926,13 +929,16 @@ func buildAggregator(name string, tbl *ast.Table) (*models.AggregatorConfig, err
return conf, nil return conf, nil
} }
// buildProcessor TODO doc // buildProcessor parses Processor specific items from the ast.Table,
// builds the filter and returns a
// models.ProcessorConfig to be inserted into models.RunningProcessor
func buildProcessor(name string, tbl *ast.Table) (*models.ProcessorConfig, error) { func buildProcessor(name string, tbl *ast.Table) (*models.ProcessorConfig, error) {
conf := &models.ProcessorConfig{Name: name} conf := &models.ProcessorConfig{Name: name}
unsupportedFields := []string{"tagexclude", "taginclude", "fielddrop", "fieldpass"} unsupportedFields := []string{"tagexclude", "taginclude", "fielddrop", "fieldpass"}
for _, field := range unsupportedFields { for _, field := range unsupportedFields {
if _, ok := tbl.Fields[field]; ok { if _, ok := tbl.Fields[field]; ok {
// TODO raise error because field is not supported return nil, fmt.Errorf("%s is not supported for processor plugins (%s).",
field, name)
} }
} }
......
...@@ -65,6 +65,13 @@ type metric struct { ...@@ -65,6 +65,13 @@ type metric struct {
isaggregate bool isaggregate bool
} }
func NewMetricFromPoint(pt models.Point) Metric {
return &metric{
pt: pt,
mType: Untyped,
}
}
// NewMetric returns an untyped metric. // NewMetric returns an untyped metric.
func NewMetric( func NewMetric(
name string, name string,
...@@ -72,7 +79,7 @@ func NewMetric( ...@@ -72,7 +79,7 @@ func NewMetric(
fields map[string]interface{}, fields map[string]interface{},
t time.Time, t time.Time,
) (Metric, error) { ) (Metric, error) {
pt, err := models.NewPoint(name, tags, fields, t) pt, err := models.NewPoint(name, models.NewTags(tags), fields, t)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -91,7 +98,7 @@ func NewGaugeMetric( ...@@ -91,7 +98,7 @@ func NewGaugeMetric(
fields map[string]interface{}, fields map[string]interface{},
t time.Time, t time.Time,
) (Metric, error) { ) (Metric, error) {
pt, err := models.NewPoint(name, tags, fields, t) pt, err := models.NewPoint(name, models.NewTags(tags), fields, t)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -110,7 +117,7 @@ func NewCounterMetric( ...@@ -110,7 +117,7 @@ func NewCounterMetric(
fields map[string]interface{}, fields map[string]interface{},
t time.Time, t time.Time,
) (Metric, error) { ) (Metric, error) {
pt, err := models.NewPoint(name, tags, fields, t) pt, err := models.NewPoint(name, models.NewTags(tags), fields, t)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -125,7 +132,7 @@ func (m *metric) Name() string { ...@@ -125,7 +132,7 @@ func (m *metric) Name() string {
} }
func (m *metric) Tags() map[string]string { func (m *metric) Tags() map[string]string {
return m.pt.Tags() return m.pt.Tags().Map()
} }
func (m *metric) Time() time.Time { func (m *metric) Time() time.Time {
......
...@@ -24,8 +24,12 @@ type minmax struct { ...@@ -24,8 +24,12 @@ type minmax struct {
} }
var sampleConfig = ` var sampleConfig = `
## TODO doc ## General Aggregator Arguments:
## The period on which to flush & clear the aggregator.
period = "30s" period = "30s"
## If true, the original metric will be dropped by the
## aggregator and will not get sent to the output plugins.
drop_original = false
` `
func (m *MinMax) SampleConfig() string { func (m *MinMax) SampleConfig() string {
......
...@@ -26,17 +26,15 @@ func (p *InfluxParser) Parse(buf []byte) ([]telegraf.Metric, error) { ...@@ -26,17 +26,15 @@ func (p *InfluxParser) Parse(buf []byte) ([]telegraf.Metric, error) {
points, err := models.ParsePoints(buf) points, err := models.ParsePoints(buf)
metrics := make([]telegraf.Metric, len(points)) metrics := make([]telegraf.Metric, len(points))
for i, point := range points { for i, point := range points {
tags := point.Tags()
for k, v := range p.DefaultTags { for k, v := range p.DefaultTags {
// Only set tags not in parsed metric // only set the default tag if it doesn't already exist:
if _, ok := tags[k]; !ok { if tmp := point.Tags().GetString(k); tmp == "" {
tags[k] = v point.AddTag(k, v)
} }
} }
// Ignore error here because it's impossible that a model.Point // Ignore error here because it's impossible that a model.Point
// wouldn't parse into client.Point properly // wouldn't parse into client.Point properly
metrics[i], _ = telegraf.NewMetric(point.Name(), tags, metrics[i] = telegraf.NewMetricFromPoint(point)
point.Fields(), point.Time())
} }
return metrics, err return metrics, err
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment