Commit Graph

36 Commits (56d98325dac15b7cbdba5cb554ee83cdc316f77c)

Author SHA1 Message Date
Gustav Westling 56d98325da
Removed ineffective assignments, and added checks for errors that previsouly was not checked 2016-12-29 20:26:15 +01:00
Edd Robinson 168c91cc67 graphite service should retry database creation 2016-10-18 16:50:07 +01:00
Ben Johnson 8aa224b22d
reduce memory allocations in index
This commit changes the index to point to index data in the shards
instead of keeping it in-memory on the heap.
2016-08-16 14:09:00 -06:00
Chris H (CruftMaster) 53cccd02be Merge remote-tracking branch 'upstream/master' into conjoined-field-names-for-graphite-templates 2016-02-14 22:45:15 +00:00
Ben Johnson 5a0d1ab7c1 rename influxdb/influxdb to influxdata/influxdb
This commit changes all the import and URL references from:

    github.com/influxdb/influxdb

to:

    github.com/influxdata/influxdb
2016-02-10 10:26:18 -07:00
Chris H (CruftMaster) cbc9bb5718 Stop people from using both measurement* and field* in a template (plus tests) 2016-02-10 15:29:09 +00:00
Chris H (CruftMaster) 2822b89481 Adding conjoined-field-names for graphite templates 2016-02-10 15:27:30 +00:00
Matteo Cerutti b26859a5db adding support for matching tags multiple times 2016-02-09 10:19:37 +01:00
Jason Wilder 4002733695 Merge pull request #5182 from flisky/master
Graphite: prefer more specific template over default template when possible
2016-02-08 12:08:43 -07:00
Edd Robinson b34699d222 Fix typo from a rename 2016-02-08 16:05:05 +00:00
Yin Jifeng b3adfa6b76 Graphite: fix an edge case in Parser.ApplyTemplate 2015-12-21 15:09:10 +08:00
Edd Robinson ffbd6037e2 Initial lint for all packages under services. Supports #4098 2015-11-22 19:23:56 +00:00
Jonathan A. Sternberg 5fa36639db Allow NaN as a valid value on the graphite service
The canonical graphite implementation will read and discard NaN values
instead of throwing an error when reading on the line receiver protocol.
Since this is the default behavior for graphite, InfluxDB should have
the same behavior for compatibility.

Previously, a NaN value would result in an error printed to the console.
When you have a large number of NaN values being sent every minute, this
results in the log file filling with useless messages.
2015-11-20 11:07:25 -05:00
Jason Wilder 0926b19e6b Prevent creating points with NaN float values
Float values are not supported in the existing engine and the tsm1
engines.  This changes NewPoint to return an error if a field value
contains a NaN field.  It also allows us to validate fields to prevent
other unsupported types from sneaking in through other input plugins.
2015-10-27 17:12:52 -06:00
Rob Wilson d8ac746703 correct formatting 2015-10-07 20:35:05 +01:00
Rob Wilson 5fd8777c56 add tests 2015-10-07 20:32:10 +01:00
Cameron Sparr 883d32cfd0 Add public function to graphite parser to apply template 2015-10-06 17:42:36 -06:00
Cory LaNou d19a510ad2 refactor Points and Rows to dedicated packages 2015-09-16 15:33:08 -05:00
Jason Wilder a3ab093996 Parse NaN as float
Fixes #3230
2015-07-06 16:14:01 -06:00
Jason Wilder 562d7cd37d Handle timestamp special cases
If no timestamp is sent or the value -1 is sent, the current UTC
time is used.
2015-06-24 23:53:13 -06:00
Jason Wilder fbfb90d66c Code review fixes 2015-06-24 23:33:42 -06:00
Jason Wilder 320a951575 Fix default template being returned when partially matching
another filter.
2015-06-24 23:09:08 -06:00
Jason Wilder a76e812b38 Add graphite parser benchmark 2015-06-24 23:09:08 -06:00
Jason Wilder 9ed71ad492 Add test for matching similar patterns 2015-06-24 23:09:08 -06:00
Jason Wilder f70eee6e7a Add support for multiple measurement fields in templates
Provides a little more flexibility in controlling the parsed
metric names for metris like:

  servers.localhost.cpu.cpu0.user

Previously, you could only use a single field like "cpu", "user"
or a wildcard to match "cpu.cpu0.user".  You can now pull out "cpu"
and "user" and join them together in the metric name using a custom
separator character.  By default this is ".".
2015-06-24 23:09:08 -06:00
Jason Wilder a2a1956048 Use search tree for filter matching
This adds a sorted search tree for matchining filters to a template
more efficiently.  Each filter is split on "." and each element is
added to the tree.  Patterns with matching prefixes are added under
the same subtree.
2015-06-24 23:09:08 -06:00
Jason Wilder dd0e6e5e02 Use strings.Fields to bef more forgiving of whitespace 2015-06-24 23:09:07 -06:00
Jason Wilder b55981f090 Add support for per-template default tags
These are tags that can be added at the template level.  They
will override any global tags and any parsed tags with the same
name from the metric will override these.
2015-06-24 23:09:07 -06:00
Jason Wilder 9cd82ae316 Add support for global tags
These are tags that can be add to all metrics.
2015-06-24 23:09:07 -06:00
Jason Wilder cab9e36111 Add basic template filtering support
This filter implementation is fairly naive and won't scale well
to large numbers of templates and filters.  It will be replaced
with a trie-based approach in the future.
2015-06-24 23:09:07 -06:00
Jason Wilder e5fbf249ff Remove DecodeNameAndTags func 2015-06-24 23:09:07 -06:00
Jason Wilder 46046c6d32 Add matcher for match a metric to a template
If no template matches, use a default template that just matches
the whole metric name as the measurement.
2015-06-24 23:09:07 -06:00
Jason Wilder d69a21c4e4 Allow skipping fields in templates 2015-06-24 23:09:07 -06:00
Jason Wilder a7d4d97743 Convert template matching to matcher struct 2015-06-24 23:09:06 -06:00
Jason Wilder d132263f08 Add support for measurement* 2015-06-24 23:09:06 -06:00
Jason Wilder d539b23817 Move graphite parser to separate file 2015-06-24 23:09:06 -06:00