Commit Graph

31 Commits

Author SHA1 Message Date
Daniel Nelson 2c29f8f84a Fix dropwizard parsing error for metrics that need escaped ()
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 Nelson d3d1bc72ca Fix duplicate tags when overriding tag () 2018-04-20 18:39:31 -07:00
Daniel Nelson 8c35451400 Fix HashID conflicts in pathological cases
Use "\n" as delimiter as it cannot occur in the series name.
2018-04-12 18:09:31 -07:00
Daniel Nelson 52d9a98b09 Fix precision truncation when no timestamp included () 2018-04-02 14:32:33 -07:00
Daniel Nelson 717347fce2 Allow empty string field values 2018-03-30 16:57:35 -07:00
Daniel Nelson 2fe2622327 Add influx uint support as a runtime option () 2018-03-29 13:31:43 -07:00
Matt 006ccbf05b Add line protocol uint64 support () 2018-03-28 16:43:25 -07:00
Daniel Nelson 222a68d72e Add new line protocol parser and serializer, influxdb output () 2018-03-27 17:30:51 -07:00
Daniel Nelson e57cf8c9df Fix typo in error message 2017-11-13 15:07:54 -08:00
faye-sama ccd21755d5 Fail metrics parsing on unescaped quotes ()
Before this change Fields() method on a metric parsed from a line with
unescaped quotes could panic. This change makes such line unparseable.

Fixes 
2017-11-13 15:06:47 -08:00
Maximilien Richer c569863119 Fix typos in comments () 2017-10-31 17:00:06 -07:00
Daniel Nelson e4f429572d Fix unittest for golang 1.9 2017-09-22 17:35:58 -07:00
Daniel Nelson bdf5e4534d Fix panic when handling string fields with escapes () 2017-08-30 21:16:37 -07:00
Daniel Nelson 6caa896cb1 Escape backslash within string fields () 2017-08-23 15:17:26 -07:00
Daniel Nelson b086ecee0c Do not allow metrics with trailing slashes ()
It is not possible to encode a measurement, tag, or field whose last
character is a backslash due to it being an unescapable character.
Because the tight coupling between line protocol and the internal metric
model, prevent metrics like this from being created.

Measurements with a trailing slash are not allowed and the point will be
dropped.  Tags and fields with a trailing a slash will be dropped from
the point.
2017-07-11 15:54:38 -07:00
Daniel Nelson 4780073ba1 Fix handling of escapes within fieldset ()
Line protocol does not require or allow escaping of backslash, the only
requirement for a byte to be escaped is if it is an escapable char and
preceeded immediately by a slash.
2017-07-10 19:05:18 -07:00
Daniel Nelson 87f2b44566 Fix bug parsing default timestamps with modified precision () 2017-06-23 10:59:04 -07:00
Daniel Nelson f0c10b4012 Fix metric splitting edge cases ()
Metrics needing one extra byte to fit the output buffer would not be split, so we would emit lines without a line ending. Metrics which overflowed by exactly one field length would be split one field too late, causing truncated fields.
2017-06-07 13:37:54 -07:00
Daniel Nelson c1da0002c0 Fix udp metric splitting () 2017-06-05 12:44:29 -07:00
Daniel Nelson 147200f675 Add support for precision in http_listener () 2017-04-10 16:39:40 -07:00
jeremydenoun 068611263a Remove warning if parse empty content ()
closes 
2017-03-08 14:08:55 -08:00
Leandro Piccilli df402e885d Check if tag value is empty before allocation
closes 
closes 
2017-02-16 23:07:27 +00:00
Cameron Sparr f6e1409c9a Remove metric.Point from metric interface 2017-02-03 16:53:07 +00:00
Cameron Sparr 7bd6dc3d7f Godeps update
closes 
2017-02-02 09:52:06 +00:00
Cameron Sparr cd5bef3e14 metric: Fix negative number handling
closes 
2017-02-01 10:07:31 +00:00
Cameron Sparr f5d892d7d3 Improve the InfluxDB through-put performance
This changes the current use of the InfluxDB client to instead use a
baked-in client that uses the fasthttp library.

This allows for significantly smaller allocations, the re-use of http
body buffers, and the re-use of the actual bytes of the line-protocol
metric representations.
2017-01-25 11:54:16 -08:00
Cameron Sparr 6b0e863556 Support a telegraf.Metric.Split function 2016-12-07 15:18:47 +00:00
Cameron Sparr af6e7b9531 More unit tests for new metric 2016-12-01 19:07:14 +00:00
Cameron Sparr 6fd7361364 allocation & perf improvements 2016-12-01 18:17:02 +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