Commit Graph

118 Commits

Author SHA1 Message Date
Daniel Nelson ad320ac1e0
Remove the time_key from the field values in JSON parser (#4951) 2018-11-02 17:53:45 -07:00
Daniel Nelson 9fcd279b7e
Run gofmt with Go 1.10 2018-10-29 16:12:37 -07:00
Daniel Nelson f38da90329
Run `make fmt` with Go 1.11 2018-10-29 16:00:54 -07:00
Trevor Pounds ee056278f5 Enable gofmt code simplification (#4887) 2018-10-19 13:32:54 -07:00
Trevor Pounds 17360f079c Fix spelling mistakes (#4888) 2018-10-19 11:12:01 -07:00
Rudy a1f9f63463 Add new config for csv column explicit type conversion (#4781) 2018-10-03 18:19:44 -07:00
Daniel Nelson 4898edbb2d
Increment timestamp by one second in multi metric tests
This avoids accidentally triggering tsMod time adjustments in certain
timezones.
2018-10-03 15:11:59 -07:00
Daniel Nelson c3bab78ea8 Fix case of timezone/grok_timezone options. (#4799) 2018-10-03 13:58:21 -06:00
Greg 4c9c31c34f Fix panic if JSONNameKey is not found (#4735) 2018-09-21 15:47:41 -07:00
Greg e08c975fbd Fix rune conversion in csv parser (#4728) 2018-09-21 12:39:05 -07:00
Daniel Nelson b5299f4cc4
Fix cleanup of csv parser options, use per file parser (#4712) 2018-09-18 09:23:45 -07:00
Greg 1d76343422 Enhance performance data for nagios parser (#4691) 2018-09-18 09:08:46 -07:00
Daniel Nelson 41d528c8ce
Split parser/serializer docs (#4690) 2018-09-17 11:45:08 -07:00
Greg e9eeda555e
Reset/flush saved contents from bad metric (#4646) 2018-09-06 18:45:40 -06:00
David Reniz cd4c4e7fbd Added Unix epoch timestamp support for JSON parser (#4633) 2018-09-06 18:44:33 -06:00
Gunnar f70d6519e7 Add Azure Monitor output plugin (#4089) 2018-09-05 14:50:32 -07:00
Ayrdrie 5420e13f14 Fix divide by zero in logparser input (#4338) 2018-08-29 19:11:13 -07:00
maxunt 889745a112 Add csv parser (#4439) 2018-08-24 16:40:41 -07:00
maxunt 2729378b7f Add name, time, path and string field options to JSON parser (#4351) 2018-08-22 19:26:48 -07:00
Ayrdrie e893dc38a2 Add logfmt parser (#4539) 2018-08-22 13:55:41 -07:00
maxunt 9e0eb0c0e0 Add ability to set measurement from matched text in grok parser (#4433) 2018-08-17 13:45:22 -07:00
Pierre Tessier 6454319062 Add Wavefront parser (#4402) 2018-08-13 17:37:06 -06:00
Daniel Nelson 035e6a6f78
Skip lines that do not match in grok parser 2018-08-10 18:11:32 -07:00
Daniel Nelson 14d25af4d4
Remove DS_Store files 2018-07-13 23:23:47 -07:00
maxunt 774a9f0492 Add file input plugin and grok parser (#4332) 2018-07-13 23:22:59 -07:00
maxunt 9ebf16636d Add parse_multivalue to collectd parser (#4403) 2018-07-11 17:29:23 -07:00
maxunt 8482c40a91 Fix selection of tags under nested objects in the JSON parser (#4284) 2018-06-14 13:17:32 -07:00
Daniel Nelson 0af40a8a5d
Fix dropwizard parsing error for metrics that need escaped (#4142)
If the dropwizard parser cannot convert the metric name into a valid
line protocol series then we will accept the name as is.
2018-05-14 11:00:03 -07:00
Daniel Meiners 9647ea88ea Ignore UTF8 BOM in JSON parser (#4099) 2018-05-03 11:40:28 -07:00
Daniel Nelson a3500cc33a
Fix handling of floats with multiple leading zeroes (#4065) 2018-04-23 13:29:49 -07:00
Daniel Nelson fe4d3cd117
Fix ints being capped at 32-bits on 32-bit archs (#4054) 2018-04-20 14:56:28 -07:00
Daniel Nelson e4f8a82ee6
Fix newline escaping in line protocol (#3992) 2018-04-09 15:29:52 -07:00
Daniel Nelson bcaaeda49c
Fix precision truncation when no timestamp included (#3961) 2018-04-02 14:32:33 -07:00
Daniel Nelson 64b239663c
Add mutex to influx parser 2018-04-02 12:52:23 -07:00
Daniel Nelson 38ec968b0b
Move Handler interface into machine where it is used 2018-03-30 11:11:12 -07:00
Daniel Nelson b99cd14129
Add influx uint support as a runtime option (#3948) 2018-03-29 13:31:43 -07:00
Matt a320f91516 Add line protocol uint64 support (#3946) 2018-03-28 16:43:25 -07:00
Daniel Nelson 1c0f63a90d
Add new line protocol parser and serializer, influxdb output (#3924) 2018-03-27 17:30:51 -07:00
Noah Crowley 87830a1c38 Ignore empty lines in Graphite plaintext (#3684) 2018-01-16 13:44:56 -08:00
atzoum d188b78d9e Add string and boolean support to dropwizard; fix escaping of tags/fields (#3664) 2018-01-16 12:12:14 -08:00
atzoum 317de40ac4 Add support for dropwizard input format (#2846) 2018-01-08 15:11:36 -08:00
Daniel Nelson 4f42d8a298
Add benchmark test for single metric 2017-12-08 13:23:08 -08:00
faye-sama a411306fba Fail metrics parsing on unescaped quotes (#3409)
Before this change Fields() method on a metric parsed from a line with
unescaped quotes could panic. This change makes such line unparseable.

Fixes #3326
2017-11-13 15:06:47 -08:00
Daniel Nelson 4243403432 Remove warning when JSON contains null value (#3359) 2017-10-19 16:25:58 -07:00
Daniel Nelson 22a9ffbb9d Allow JSON data format to contain zero metrics (#3268) 2017-09-26 15:58:33 -07:00
Daniel Nelson 2c98e5ae66 Add collectd parser (#2654) 2017-04-12 10:41:26 -07:00
Daniel Nelson 62b5c1f7e7 Add support for precision in http_listener (#2644) 2017-04-10 16:39:40 -07:00
Leandro Piccilli 5da40d56ad
Check if tag value is empty before allocation
closes #2390
closes #2404
2017-02-16 23:07:27 +00:00
Cameron Sparr 54cfbb5b87
metric: Fix negative number handling
closes #2324
2017-02-01 10:07:31 +00:00
Cameron Sparr 22340ad984
Add newline to influx line-protocol if not present
closes #2297
2017-01-23 13:52:20 -08:00
Matt O'Hara 1392e73125 Add clusterstats to elasticsearch plugin (#1979)
* add clusterstats to elasticsearch input plugin

* add clusterstats to elasticsearch input plugin

* add clusterstats to elasticsearch input plugin

* add clusterstats to elasticsearch input plugin

* add clusterstats to elasticsearch input plugin

* responses to requested changes

* remove unnecessary recommendation
2016-12-20 16:30:03 +00:00
Cameron Sparr e5c7a71d8e Fix unit tests for new metric implementation 2016-12-01 18:17:02 +00:00
Cameron Sparr db7a4b24b6 Implement telegraf's own full metric type
main reasons behind this:
- make adding/removing tags cheap
- make adding/removing fields cheap
- make parsing cheaper
- make parse -> decorate -> write out bytes metric flow much faster

Refactor serializer to use byte buffer
2016-12-01 18:17:02 +00:00
Cameron Sparr 5c32521a07 Add benchmarks for metric parsing and creating 2016-11-23 17:23:08 +00:00
Pieter Slabbert 196509cc53 Trim null characters in Value data format (#2049)
* Trim null characters in Value data format

Some producers (such as the paho embedded c mqtt client) add a null
character "\x00" to the end of a message.  The Value parser would fail on
any message from such a producer.

* Trim whitespace and null in all Value data formats

* No unnecessary reassignments in Value data format parser

* Update change log for Value data format fix
2016-11-16 13:13:31 +00:00
John Engelman 94ce67cc67 Add support to parse JSON array. (#1965) 2016-11-15 13:02:55 -05:00
Cameron Sparr 097b1e09db http listener refactor
in this commit:

- chunks out the http request body to avoid making very large
  allocations.
- establishes a limit for the maximum http request body size that the
  listener will accept.
- utilizes a pool of byte buffers to reduce GC pressure.
2016-10-24 18:17:49 +01:00
Cameron Sparr 9540a6532f Update influxdb dependency for new models.Tags 2016-10-12 14:50:19 +01:00
Cameron Sparr e96f7a9b12 graphite parser, handle multiple templates empty filter
Previously, the graphite parser would simply overwrite any template that
had an identical filter to a previous template. This included the empty
filter.

Now we will still overwrite, but first we will sort to make sure that
the most "specific" template always matches.

closes #1731
2016-10-11 15:22:51 +01:00
Daniele Gozzi 9ea3dbeee8 Allow numeric and non-string values for tag_keys. (#1782)
* Allow numeric and non-string values for tag_keys.

According to the go documentation the JSON deserializer only produces these
base types in output:
- string
- bool
- float64
- nil
With this patch bool, float64 and nil values get converted to a string when
their field key is specified in tag_keys. Previously the field was simply
discarded.

* Updated handling of nil for passing tests.

The automated tests are less than trivial to reproduece locally for me,
so I hope CircleCI wonn't mind...

* Updated changelog entries with PR and issue links.
2016-09-21 18:07:35 +01:00
Cameron Sparr 9144f9630b graphite parser: support multiple tag keys
closes #1272
2016-05-25 17:11:28 +01:00
Cameron Sparr f2b0ea6722 value parser: doc & string handling 2016-05-02 12:17:20 -06:00
Thibault Cohen 8f09aadfdf Add nagios parser for exec input plugin
closes #762
2016-03-21 13:34:47 -06:00
Chris H (CruftMaster) 20b4e8c779 GREEDY field templates for the graphite parser, and support for multiple specific field names
closes #789
2016-03-21 13:32:51 -06:00
Cameron Sparr 5c1b635229 Value parser, for parsing a single value into a metric
closes #849
2016-03-17 20:08:21 -06:00
Cameron Sparr a9c135488e Add Serializer plugins, and 'file' output plugin 2016-02-12 14:13:49 -07:00
Cameron Sparr 8d0f50a6fd MQTT Consumer Input plugin 2016-02-12 11:13:32 -07:00
Cameron Sparr e619493ece Implementing generic parser plugins and documentation
This constitutes a large change in how we will parse different data
formats going forward (for the plugins that support it)

This is working off @henrypfhu's changes.
2016-02-08 21:08:44 -07:00