Commit Graph
100 Commits
Author SHA1 Message Date
Cameron Sparr a36fd375de Revert using fasthttp library to net/http 2017-01-25 16:42:23 -08: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 a8b1fe6f00 ntpq: correct number of seconds in an hour
closes #2256
2017-01-24 15:27:44 -08:00
Cameron Sparr 845392e090 32-bit binary for windows and freebsd
closes #1346
closes #2218
2017-01-23 20:28:13 -08:00
Cameron Sparr 819813ad72 influxdb output: treat field type conflicts as a successful write
If we write a batch of points and get a "field type conflict" error
message in return, we should drop the entire batch of points because
this indicates that one or more points have a type that doesnt match the
database.

These errors will never go away on their own, and InfluxDB will
successfully write the points that dont have a conflict.

closes #2245
2017-01-23 16:41:29 -08:00
Cameron Sparr e06f1e0323 Run scheduled flushes in background
doing this unblocks incoming metrics while waiting for a flush to take
place.

we have to create a semaphore so that we can
'skip' flushes that try to run while a flush is already running.

closes #2262
2017-01-23 14:41:40 -08:00
Cameron Sparr 4d72cd7c9f Add newline to influx line-protocol if not present
closes #2297
2017-01-23 13:52:20 -08:00
Cameron Sparr a852e8106e opentsdb: add tcp:// prefix if not present
closes #2299
2017-01-23 13:45:16 -08:00
Cameron Sparr c3d1da6b6b Direct people to downloads page for installation 2017-01-13 17:02:10 +00:00
Cameron Sparr 6ca52195a9 mysql build fixup and changelog update 2017-01-13 14:44:28 +00:00
Cameron Sparr 3551fbff4d Changelog update and go fmt 2017-01-13 14:27:20 +00:00
Cameron Sparr ab8b7a55e1 Changelog update 2017-01-13 13:50:07 +00:00
Cameron Sparr 9b0e1e9c49 OpenTSDB filter types for HTTP AND telnet 2017-01-13 11:44:28 +00:00
Cameron Sparr 51d343785e update etc/telegraf.conf 2017-01-12 11:14:12 +00:00
Cameron Sparr 61defd36d3 mongodb: Remove superfluous ReplSet log message
closes #2248
2017-01-11 17:50:01 +00:00
Cameron Sparr fe9d3257c7 readme fixup & test output fixup 2017-01-09 12:28:13 +00:00
Cameron Sparr c9089b4700 mongodb: dont print unecessary & inaccurate auth failure
closes #2209
2017-01-06 13:11:24 +01:00
Cameron Sparr b77dc90741 docker: check type when totalling blkio & net metrics
closes #2027
2016-12-21 12:18:38 +00:00
Cameron Sparr 1cc763e514 Do not try Uint parsing in redis plugin
this is just a waste of cpu cycles, since telegraf converts all uints to
int64 anyways.
2016-12-20 23:42:14 +00:00
Cameron Sparr 8311ff9156 Mask username/password from error messages
closes #1980
2016-12-20 19:35:45 +00:00
Cameron Sparr 84fc621a1a changelog update 2016-12-20 18:50:32 +00:00
Cameron Sparr 73acd114d1 Do not create a global statsd "previous instance"
this basically reverts #887

at some point we might want to do some special handling of reloading
plugins and keeping their state intact, but that will need to be done at
a higher level, and in a way that is thread-safe for multiple input
plugins of the same type.

Unfortunately this is a rather large feature that will not have a quick
fix available for it.

fixes #1975
fixes #2102
2016-12-20 17:55:04 +00:00
Cameron Sparr 491ba10b00 changelog update 2016-12-20 16:30:49 +00:00
Cameron Sparr 48fc28331e Fix & unit test logparser CLF pattern with IPv6
deals partially with #1973

see also https://github.com/vjeantet/grok/issues/17
2016-12-20 15:57:32 +00:00
Cameron Sparr cf9fd9bb5f Support negative statsd counters
closes #1898
2016-12-20 13:21:51 +00:00
Cameron Sparr a2feba21de changelog update 2016-12-20 13:04:51 +00:00
Cameron Sparr 468e7e2c74 internal.Duration build fixup 2016-12-17 13:10:33 +00:00
Cameron Sparr d2d00a6286 changelog update 2016-12-16 17:30:13 +00:00
Cameron Sparr e8e5e5b818 rabbitmq, decrease timeout verbosity in config 2016-12-16 14:12:50 +00:00
Cameron Sparr fbdb8b83d6 changelog update 2016-12-16 14:02:11 +00:00
Cameron Sparr cf7ea36541 changelog update 2016-12-16 13:54:51 +00:00
Cameron Sparr cebbf39276 Set default values for delete_ configuration options
closes #1893
2016-12-13 20:00:52 +00:00
Cameron Sparr c4c13c4e90 Graylog output should set short_message field
closes #2045
2016-12-13 16:10:59 +00:00
Cameron Sparr b78859b331 Fix documentation for net_response plugin
closes #2103
2016-12-13 16:02:03 +00:00
Cameron Sparr a5fd775369 Support strings in statsd set measurements
closes #2068
2016-12-13 15:42:22 +00:00
Cameron Sparr 8176f6f273 Fix possible panic when file info cannot be gotten
closes #2061
2016-12-13 14:54:07 +00:00
Cameron Sparr 921a3b1b65 Update changelog 2016-12-13 14:28:28 +00:00
Cameron Sparr cab1118c31 Check if metric is nil before calling SetAggregate
fixes #2146
2016-12-13 12:27:10 +00:00
Cameron Sparr 6b0e863556 Support a telegraf.Metric.Split function 2016-12-07 15:18:47 +00:00
Cameron Sparr 11bc82379c Go version 1.7.3 -> 1.7.4 2016-12-06 15:42:50 +00:00
Cameron Sparr a093ec1eaa Kafka output fixup 2016-12-06 15:38:59 +00:00
Cameron Sparr d71a42cd1b Implement telegraf collecting stats on itself
closes #1348
2016-12-05 18:56:54 +00:00
Cameron Sparr 504f4e69db file output plugin fixup 2016-12-02 11:36:22 +00:00
Cameron Sparr 9f6666beb3 unit test fixup 2016-12-01 19:17:44 +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
Cameron Sparr 332f678afb JSON serializer: include unit test with escapes 2016-12-01 18:16:52 +00:00
Cameron Sparr f862c6585d amqp precision is not used anymore 2016-11-24 10:17:24 +00:00
Cameron Sparr 5c32521a07 Add benchmarks for metric parsing and creating 2016-11-23 17:23:08 +00:00
Cameron Sparr 9db30250c3 'discard' output plugin 2016-11-23 14:03:30 +00:00
Cameron Sparr 2b0cd2037b Add Copy() function to Metric interface 2016-11-23 12:30:31 +00:00
Cameron Sparr 2435e47926 changelog update 2016-11-15 11:36:26 +00:00
Cameron Sparr 0ecbf9e349 Fix single quote parsing of TOML durations
closes #2023
2016-11-10 09:47:46 +00:00
Cameron Sparr 1c7715780e Documentation improvements
- fully document aggregator and processor plugins
- improve readme.md

closes #1989
2016-11-08 13:55:37 +00:00
Cameron Sparr e84b356a12 Update etc/telegraf.conf 2016-11-04 13:18:44 +00:00
Cameron Sparr 47de43abf3 Use rfc3339 timestamps in telegraf log output
closes #1564

also add unit and benchmark tests
2016-11-03 18:39:02 +00:00
Cameron Sparr dc28875437 Update gopsutil dependency
primarily for a fix in Windows network counter getting code

closes #1949
2016-11-03 18:06:10 +00:00
Cameron Sparr a6ed4d4c3a CircleCI script, do not explicitly set version tag 2016-11-03 17:21:06 +00:00
Cameron Sparr fe6162b2a1 Use short commit in Makefile build 2016-11-03 16:37:52 +00:00
Cameron Sparr 34182d9c9f Add release 1.2 section to changelog 2016-11-03 14:34:09 +00:00
Cameron Sparr 16081b2d1a Update etc/telegraf.conf 2016-11-03 14:31:55 +00:00
Cameron Sparr 2150510bd4 nats_consumer: buffer incoming messages
fixes #1956
2016-10-27 13:39:27 +01:00
Cameron Sparr 0cfa0d419a udp_listener & tcp_listener set default values
closes #1936
2016-10-27 10:25:24 +01:00
Cameron Sparr c66363cba5 Update Go version: 1.7.1->1.7.3 2016-10-25 14:49:21 +01:00
Cameron Sparr 61269c3500 Update config generation docs
closes #1925
2016-10-25 14:46:50 +01:00
Cameron Sparr 80d4864844 Only install fpm,rpm,boto if we need them 2016-10-25 13:31:48 +01:00
Cameron Sparr f729fa990d Unit testing for internal.Duration Unmarshal
closes #1926
2016-10-25 13:11:32 +01:00
Cameron Sparr c849b58de9 http_listener input unit tests 2016-10-24 18:17:49 +01: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 a4e8f24b16 Set reasonable defaults in ping plugin
closes #1742
2016-10-17 15:21:09 +01:00
Cameron Sparr a65447d22e Use mysql.ParseDSN func instead of url.Parse
The MySQL DB driver has it's own DSN parsing function. Previously we
were using the url.Parse function, but this causes problems because a
valid MySQL DSN can be an invalid http URL, namely when using some
special characters in the password.

This change uses the MySQL DB driver's builtin ParseDSN function and
applies a timeout parameter natively via that.

Another benefit of this change is that we fail earlier if given an
invalid MySQL DSN.

closes #870
closes #1842
2016-10-12 17:10:28 +01:00
Cameron Sparr b00ad65b08 Log config file parsing errors properly
closes #1344
2016-10-12 16:50:22 +01:00
Cameron Sparr a84ce5d5cb drop metrics outside of the aggregators period 2016-10-12 14:56:03 +01:00
Cameron Sparr 8ca4a50c18 delete nil fields in the metric maker.
closes #1771
2016-10-12 14:50:19 +01:00
Cameron Sparr 03b2984ac2 Fixup some code based on feedback from @dgnorton 2016-10-12 14:50:19 +01:00
Cameron Sparr 9540a6532f Update influxdb dependency for new models.Tags 2016-10-12 14:50:19 +01:00
Cameron Sparr cace663bbf Processor & Aggregator Contrib doc 2016-10-12 14:50:19 +01:00
Cameron Sparr acfdd15aa9 Processor & Aggregator configuration doccing 2016-10-12 14:50:19 +01:00
Cameron Sparr 78f544c0aa Support --aggregator-filter & --processor-filter 2016-10-12 14:50:19 +01:00
Cameron Sparr 2175a72fcc Rebase fixup 2016-10-12 14:50:19 +01:00
Cameron Sparr b03c1d9691 Support ordering of processor plugins 2016-10-12 14:50:19 +01:00
Cameron Sparr fead80844e Refactor handling of MinMax functionality into RunningAggregator
allows for easier addition of a sliding window at a later time.

Also makes `period` be a generic argument for all aggregator plugins.
2016-10-12 14:50:19 +01:00
Cameron Sparr ef885eda62 Change minmax aggregator to store float64 2016-10-12 14:50:19 +01:00
Cameron Sparr 64a71263a1 Support Processor & Aggregator Plugins
closes #1726
2016-10-12 14:50:19 +01:00
Cameron Sparr 974221f0cf Fix phpfpm fcgi client panic when URL doesnt exist
closes #1886
2016-10-12 11:58:38 +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
Cameron Sparr 1ff721ad84 Add riemann output plugin deprecation message 2016-10-11 12:28:20 +01:00
Cameron Sparr ca55c4a55d Remove COMING SOON: multiple statsd fields 2016-10-11 10:57:34 +01:00
Cameron Sparr d627bdbbdb logparser: allow numbers in ident & auth parameters
fixes #1810
2016-10-10 11:27:35 +01:00
Cameron Sparr 7f0fe78615 Changelog update for systemd log change 2016-10-06 17:48:23 +01:00
Cameron Sparr 886bdd2ef2 changelog update 2016-10-06 14:25:28 +01:00
Cameron Sparr 4ab0344ebf Update changelog & readme for 1.0.1 2016-10-05 08:41:58 +01:00
Cameron Sparr ce5054c850 Changelog update 2016-10-03 18:20:10 +01:00
Cameron Sparr c7834209d2 Major Logging Overhaul
in this commit:

- centralize logging output handler.
- set global Info/Debug/Error log levels based on config file or flags.
- remove per-plugin debug arg handling.
- add a I!, D!, or E! to every log message.
- add configuration option to specify where to send logs.

closes #1786
2016-10-03 17:13:03 +01:00
Cameron Sparr 78ced6bc30 Use a bufio.Scanner in http listener
this will prevent potential very large allocations due to a very large
chunk size send from a client.

fixes #1823
2016-09-29 16:07:51 +01:00
Cameron Sparr ca8e512e5b Update changelog 2016-09-28 16:12:32 +01:00
Cameron Sparr e19845c202 Load config directory using filepath.Walk
closes #1137
2016-09-28 16:01:52 +01:00
Cameron Sparr 52134555d6 globpath: only walk tree if ** is defined
closes #1517
2016-09-28 15:44:29 +01:00