Commit Graph

45 Commits

Author SHA1 Message Date
Max U 563e8e8f54 clean up some test cases 2018-06-21 16:12:26 -07:00
Max U 823ba0a7e0 add more test files 2018-06-21 16:06:36 -07:00
Max U ab0bf5748b add grok as a top level parser 2018-06-21 15:56:20 -07:00
maxunt a852184496 Fix selection of tags under nested objects in the JSON parser (#4284) 2018-06-14 13:17:32 -07:00
Daniel Nelson 2c29f8f84a 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 7ba8ac7645 Ignore UTF8 BOM in JSON parser (#4099) 2018-05-03 11:40:28 -07:00
Daniel Nelson b9c5e88c22 Fix handling of floats with multiple leading zeroes (#4065) 2018-04-23 13:29:49 -07:00
Daniel Nelson 493ec3773b Fix ints being capped at 32-bits on 32-bit archs (#4054) 2018-04-20 14:56:28 -07:00
Daniel Nelson cad0cf4c78 Fix newline escaping in line protocol (#3992) 2018-04-09 15:29:52 -07:00
Daniel Nelson 52d9a98b09 Fix precision truncation when no timestamp included (#3961) 2018-04-02 14:32:33 -07:00
Daniel Nelson d247425e03 Add mutex to influx parser 2018-04-02 12:52:23 -07:00
Daniel Nelson 666f757ae3 Move Handler interface into machine where it is used 2018-03-30 11:11:12 -07:00
Daniel Nelson 2fe2622327 Add influx uint support as a runtime option (#3948) 2018-03-29 13:31:43 -07:00
Matt 006ccbf05b Add line protocol uint64 support (#3946) 2018-03-28 16:43:25 -07:00
Daniel Nelson 222a68d72e Add new line protocol parser and serializer, influxdb output (#3924) 2018-03-27 17:30:51 -07:00
Noah Crowley b9ec94f181 Ignore empty lines in Graphite plaintext (#3684) 2018-01-16 13:44:56 -08:00
atzoum 72a235d9cf Add string and boolean support to dropwizard; fix escaping of tags/fields (#3664) 2018-01-16 12:12:14 -08:00
atzoum 05d691aa81 Add support for dropwizard input format (#2846) 2018-01-08 15:11:36 -08:00
Daniel Nelson afa6347631 Add benchmark test for single metric 2017-12-08 13:23:08 -08:00
faye-sama ccd21755d5 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 69591e1fab Remove warning when JSON contains null value (#3359) 2017-10-19 16:25:58 -07:00
Daniel Nelson 596c0f97d7 Allow JSON data format to contain zero metrics (#3268) 2017-09-26 15:58:33 -07:00
Daniel Nelson c4634c1743 Add collectd parser (#2654) 2017-04-12 10:41:26 -07:00
Daniel Nelson 147200f675 Add support for precision in http_listener (#2644) 2017-04-10 16:39:40 -07:00
Leandro Piccilli df402e885d Check if tag value is empty before allocation
closes #2390
closes #2404
2017-02-16 23:07:27 +00:00
Cameron Sparr cd5bef3e14 metric: Fix negative number handling
closes #2324
2017-02-01 10:07:31 +00:00
Cameron Sparr 4d72cd7c9f Add newline to influx line-protocol if not present
closes #2297
2017-01-23 13:52:20 -08:00
Matt O'Hara b0609beb2b 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