Philip O'Toole
6193226ce8
Revert "Merge pull request #3771 from influxdb/tcp_graphite_timeout"
...
This reverts commit d7f646f7a4
, reversing
changes made to d6f9903f10
.
Conflicts:
CHANGELOG.md
Fixes issue #3809
2015-08-24 10:53:14 -07:00
Philip O'Toole
d7f646f7a4
Merge pull request #3771 from influxdb/tcp_graphite_timeout
...
Close idle Graphite TCP connections
2015-08-20 17:08:17 -07:00
Philip O'Toole
50b0f67290
Add Graphite TCP timeout tests
2015-08-20 15:46:08 -07:00
Philip
4930a6d8bb
Start adding timeouts to TCP Graphite input
2015-08-20 15:10:22 -07:00
Jason Wilder
afe1f598ca
Cache name and fields if requested
...
Through profiling of writes, point.Fields() and point.Name() were called
repeatedly in PointsWriter and the Shard. These calls are somewhat expensive
when writing large batches so we can cache them to avoid wasting CPU cycles.
Using influx_stress with default settings
Before:
Wrote 10000000 points at average rate of 202570
Average response time: 235.450355ms
After:
Wrote 10000000 points at average rate of 246120
Average response time: 182.881008ms
2015-08-20 15:48:38 -06:00
Philip
8e51064db1
Log Graphite batch size and timeout
2015-08-20 11:23:09 -07:00
Gunnar
cf5ac2603d
Fix Graphite README typo
...
Fixes #3727
2015-08-19 07:53:29 -07:00
Jason Wilder
668181d275
Make log statements more consistent
...
* Capitalize first letter of message
* Log all services staring consistently
* Remove some extraneous log statements in meta.Store
* Log data dirs for meta, data and hinted handoff
2015-08-13 10:01:42 -06:00
Philip O'Toole
089d947bf3
Shutdown Graphite listener first during Close()
...
Without this the WaitGroup was not fully decremented as the Accept()
call on the listener never exited, and Wait() then never exited.
2015-08-12 12:49:58 -07:00
Philip O'Toole
966dee7559
Set sensible Graphite batching defaults
2015-08-11 18:34:36 -07:00
Vorn Mom
38387ba6b7
Fixed typo.
2015-07-24 19:41:46 -04:00
Vorn Mom
5b50002728
Fixed typo in README
2015-07-24 17:07:41 -04:00
Alexander Morozov
675eacbf2c
Fix style issues with else
...
In go it's better to just continue flow without "else", if it is return in
"if" statement.
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-17 11:10:23 -07:00
Jason Wilder
6b8d3268e6
Fix code review comments
2015-07-07 11:41:12 -06:00
Jason Wilder
db63ada7db
Drop NaN and Inf values from graphite input
...
NaN is skipped by graphite. Inf is not a supported value for Influxdb.
2015-07-06 16:14:02 -06:00
Jason Wilder
b58df5344c
Use a single batcher for graphite service
...
Previously there was a batcher per connection and each batcher was
flushed when the connection was closed. This didn't have much of an
effect when multiple clients connected and disconnected since it would
flush the batch immediately. It also did not help UDP traffic.
Instead, there is now a shared batcher for the service so that multiple
connections will not cause frequent flushes.
2015-07-06 16:14:02 -06:00
Jason Wilder
4a71692b88
Allow extra tags using graphite default template
...
Fixes #3223
2015-07-06 16:14:02 -06:00
Jason Wilder
0b481d55f4
Fix graphite filter searching matching wrong template
...
Default template would get chosen in some cases when a matching filter
existed.
Fixes #3245
2015-07-06 16:14:02 -06:00
Jason Wilder
a3ab093996
Parse NaN as float
...
Fixes #3230
2015-07-06 16:14:01 -06:00
Jason Wilder
2c333c6c63
Fix markdown formatting
2015-06-25 22:08:13 -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
c5a10cf93d
Use raw metric name when default template fails to match
2015-06-24 23:38:10 -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
ba7187f554
Add comments to graphite parser
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
613b1d2eb7
Prevent duplicate filters in config
...
A filter should map directly to one template, allowing duplicate
filters is not supported.
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
98cbfdca51
Update tempalte format comment
2015-06-24 23:09:07 -06:00
Jason Wilder
b294930c95
Add graphite plugin readme
2015-06-24 23:09:07 -06:00
Jason Wilder
1ecf9b5d36
Fix validation failing when using a default template
2015-06-24 23:09:07 -06:00
Jason Wilder
dd0e6e5e02
Use strings.Fields to bef more forgiving of whitespace
2015-06-24 23:09:07 -06:00
Jason Wilder
fed8d67946
Add validation for graphite config templates and tags
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
9bcbbd9875
Rename matcher to template
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
Can ZHANG
2a383e6858
Fix unit tests for graphite
2015-06-24 23:09:06 -06:00
Can ZHANG
c130efb5e2
Add fields to config metric name schema of graphite
2015-06-24 23:09:06 -06:00
Philip O'Toole
4dff5f48aa
Export WaitForLeader on MetaStore
...
This exported function can then be used by Services and
server-reporting, so those components don't make progress until the
cluster is ready.
2015-06-11 11:10:07 -07:00
Philip O'Toole
e84f661f7e
Use defaults for Graphite input where necessary
2015-06-10 20:38:17 -07:00
Philip O'Toole
dddaf46b77
Update CHANGELOG
2015-06-10 20:02:37 -07:00
Philip O'Toole
57ce67b97b
Ensure target Graphite database exists
2015-06-10 18:03:06 -07:00
Philip O'Toole
d942250c5e
Merge pull request #2862 from runner-mei/connection_closed2
...
Make InfluxDB win32 friendly, fix unit test is failed on the windows
2015-06-10 15:58:57 -07:00
Cory LaNou
8a5cf394d8
add ability to silence logging for testing
2015-06-10 10:27:57 -05:00
runner.mei
015adc949c
Make InfluxDB win32 friendly, fix unit test is failed on the windows
2015-06-10 07:29:08 +08:00
Philip O'Toole
8eea2b3092
Allow Server creation to return errors
2015-06-09 14:21:12 -07:00
Philip O'Toole
952fb49368
Move parsing consistency levels to cluster package
...
Errors parsing the consistency level are indicated by returning a nil
Graphite input.
2015-06-09 14:21:12 -07:00
Philip O'Toole
4769d65f23
Final Graphite test code fixes
2015-06-08 20:39:56 -07:00
Philip O'Toole
9d628320c2
Rename test file to service_test.go
2015-06-08 20:39:42 -07:00
Philip O'Toole
4d01c8ad41
Add test of Graphite UDP input
2015-06-08 20:39:42 -07:00
Philip O'Toole
cd038ccddb
Add test of Graphite TCP input
2015-06-08 20:39:42 -07:00
Philip O'Toole
b0d76913b0
Add new Service-style Graphite input support
2015-06-08 20:39:39 -07:00
Philip O'Toole
1f8b04729f
Allow Graphite consistency control
...
Remove obsolete Graphite files
2015-06-08 20:00:05 -07:00
Philip O'Toole
c1e093bc08
Add batching control to Graphite config
2015-06-08 20:00:05 -07:00
Philip O'Toole
120b64fee8
Actually unit-test Graphite configuration
2015-06-08 20:00:05 -07:00
Ben Johnson
44d38cb430
Merge branch 'master' into alpha1
2015-06-02 10:40:52 -06:00
Ben Johnson
8c8a55a737
Removed 'failed' from test suite.
2015-05-30 08:59:27 -06:00
Ben Johnson
4872e6db7c
Move services to subpackage.
2015-05-30 08:20:12 -06:00