Jason Wilder
87c962d62d
Fix panics when collectd fails to start
...
If collectd fails to start, it can panic when close is called because
some variables have not be initialized yet.
2015-06-29 22:09:47 -06:00
Joseph Crail
5fccee3d16
Fix spelling errors in comments and strings.
2015-06-28 02:54:34 -04:00
Philip O'Toole
ff61d88c10
Create UDP batcher before listening for UDP
...
Otherwise a packet may be received before the batcher has been
instantiated.
2015-06-26 10:17:33 -04: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
David Norton
c76e904aa3
remove commented out code
2015-06-22 15:42:13 -04:00
David Norton
6cbb605930
fix #2944 : update unit tests
2015-06-22 15:40:31 -04:00
David Norton
0467aa8fec
fix #2944 : don't require WHERE time on create CQ
2015-06-22 15:39:22 -04:00
Vladimir Lopes
57e0879f84
Correct use of config write-tracing on the httpd handler
2015-06-17 09:55:34 -03:00
Philip O'Toole
e165777509
Move doc on CQs to CQ services component
2015-06-15 13:55:11 -07:00
Philip O'Toole
e0c26825d3
Don't log each UDP batch
...
Fixes issue #2989 .
2015-06-15 10:29:28 -07:00
Philip O'Toole
d2da99049a
collectd test client defaults to no limit points
2015-06-12 15:28:31 -07:00
Philip O'Toole
1eb0347670
Add infinite loop to collectd client rate-limiter
2015-06-12 15:25:46 -07:00
Philip O'Toole
45802a5911
Remove binary committed in error
2015-06-12 15:21:51 -07:00
Philip O'Toole
e02bb37565
collectd test client now configurable
2015-06-12 15:18:48 -07:00
Philip O'Toole
9f2964d869
Add very basic initial test collectd client
2015-06-12 14:31:53 -07:00
Philip O'Toole
7f96d0ed6a
Pull WithDefaults from collectd and openTSDB
...
This pattern, which is present in Graphite, is not needed for collectd
and openTSDB.
2015-06-12 14:17:18 -07:00
Philip O'Toole
44033778f5
Ensure collectd uses defaults with partial config
2015-06-12 13:56:43 -07:00
Philip O'Toole
b923ce0fc8
Minor updates to openTSDB README
2015-06-12 12:06:58 -07:00
Philip O'Toole
27f0b082b2
Add basic documentation for the openTSDB input
2015-06-12 12:05:23 -07:00
Philip O'Toole
916b4e2df9
Rename notes.md to README.md
...
This means it will be rendered automatically by github.
2015-06-12 09:33:22 -07:00
Paul Dix
5e7ddc6a60
Merge pull request #2928 from neonstalwart/version-header
...
pass along version to httpd/handler
2015-06-12 09:46:33 -04:00
Jason Wilder
884472ff8c
Write a newline after writing error for line protocol
...
Errors generated via curl or CLI tools can be hard to read using
a shell.
2015-06-11 16:19:19 -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
ben hockey
ce84047b44
pass along version to httpd/handler
2015-06-11 11:22:37 -05:00
David Norton
595807e195
fix #2920 : remove commented out code
2015-06-11 09:45:50 -04:00
David Norton
7c39ede6ba
fix #2920 : create collectd database on startup
2015-06-11 09:40:42 -04:00
Ben Johnson
bc31783a00
Refactor backup and restore
...
This commit updates the snapshot code as well as the "backup" and
"restore" command to work with the new architecture.
2015-06-10 22:07:01 -06:00
Philip O'Toole
e294db3c49
Set openTSDB defaults in service
2015-06-10 20:42:44 -07:00
Philip O'Toole
e84f661f7e
Use defaults for Graphite input where necessary
2015-06-10 20:38:17 -07:00
Philip O'Toole
91b6964705
Ensure openTSDB target database exists
2015-06-10 20:05:34 -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
01f2d7de75
Merge pull request #2878 from influxdb/shard_precreation
...
Shard precreation service
2015-06-10 16:40:39 -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
Philip O'Toole
5798d99692
Move shard precreation logic to meta/store
2015-06-10 15:37:00 -07:00
Philip O'Toole
f679c81136
Simply use "precreator" for shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
eb96698975
Unit-test shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
dda073c19e
Add shard precreation service
2015-06-10 15:27:38 -07:00
Philip O'Toole
3b74f753a8
Add short design notes on shard precreation
2015-06-10 15:27:38 -07:00
Philip O'Toole
b5ad92be70
Create shard precreation service
...
Initial commit includes basic configuration control.
2015-06-10 15:27:38 -07:00
Jason Wilder
67d4ef0e28
Don't queue write failures that due to type conflicts
...
These will never succeed and will stay in the queue indefinitely.
2015-06-10 14:52:59 -06:00
Philip O'Toole
a94cf8a4ca
Consolidate imports for retention service
...
Minor cosmetic change
2015-06-10 11:25:17 -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
cbaf3cb0ed
Support setting openTSDB consistency level
2015-06-09 15:39:31 -07:00
Philip O'Toole
e21d49e85f
Add openTSDB consistency level config param
2015-06-09 15:03:52 -07: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
Jason Wilder
5dab8de7e0
Log hinted handoff processing duration
2015-06-09 14:49:18 -06:00
Jason Wilder
c9f9b37753
Add hinted handoff queue rate limiting
...
Basic throughput limiting to dynamically maintain a bytes/sec
limit if configured for hinted handoff retry queues. If a batch is
larger than the limit, the limit will slow the processing down to one
write per second.
By default, the limit is unbounded. It can be enabled to help prevent
retstarting nodes that have queued writes for them from being overloaded
at startup.
2015-06-09 14:46:13 -06:00
David Norton
939e02a900
fix #2814 : return error instead of panic
2015-06-09 00:34:46 -04:00
David Norton
88a7774a80
fix #2814 : remove unnecessary initialization
2015-06-09 00:34:46 -04:00
David Norton
cef04db18f
fix #2814 : use toml.Duration where needed
2015-06-09 00:34:46 -04:00
David Norton
2f03a07a32
fix #2814 : move repetative test data to global var
2015-06-09 00:34:46 -04:00
David Norton
d5f52333a1
fix #2814 : hook collectd service back up
2015-06-09 00:34:46 -04: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
Jason Wilder
c1c8c5f0ca
Merge pull request #2835 from influxdb/jw-json-writes
...
Skip leading whitespace when detecting JSON writes without content-type
2015-06-08 17:49:44 -06:00
Ben Johnson
a9657289c4
Merge pull request #2823 from benbjohnson/opentsdb
...
Convert OpenTSDB to service
2015-06-08 17:32:55 -06:00
Jason Wilder
07d1aac50f
Fix comment in hinted handoff processor
2015-06-08 16:51:48 -06:00
Jason Wilder
48b98fea70
Skip leading whitespace when detecting JSON writes without content-type
...
Fixes #2834
2015-06-08 16:44:47 -06:00
Ben Johnson
b688eccb77
Refactor OpenTSDB to a service
...
This commit converts the OpenTSDB endpoint into a service.
2015-06-08 15:12:16 -06:00
Jason Wilder
ede254484d
Process hinted handoff queues concurrently
2015-06-08 15:05:44 -06:00
Jason Wilder
d86b15953c
Fix queue advance not writing updated position
...
The advance function was not writing the updated position in the
queue until after the next advance call was called. Resulted in
the very last message would get replayed on restart each time.
2015-06-08 12:09:31 -06:00
Jason Wilder
e75208f15c
Log remote write erros
2015-06-08 09:09:10 -06:00
Jason Wilder
2ccf97e6a0
Add wait group to hinted handoff service
2015-06-05 22:16:52 -06:00
Jason Wilder
4ec77d8b84
Fix comments
2015-06-05 22:16:52 -06:00
Jason Wilder
e2f3ff26a5
Fix data race when close hinted handoff service
2015-06-05 22:16:51 -06:00
Jason Wilder
f4cea559d3
Purge hinted handoff queue if entries stick around past a cutoff
2015-06-05 22:16:51 -06:00
Jason Wilder
9d67f9bf62
Add hinted handoff max age and throughput rate limit config options
2015-06-05 22:16:51 -06:00
Jason Wilder
809b9b8a83
Add basic hinted handoff support
...
If a remote write fails, it will be queued to a per-node, local disk
queue and retried later.
2015-06-05 22:16:51 -06:00
Jason Wilder
89c01cd37d
Add hinted handoff queue
...
This adds a disk backed queue that will be to persist hinted
handoff writes.
2015-06-05 22:16:51 -06:00
Jason Wilder
75b72c60fe
Add hinted handoff service
...
The hinted handoff service will queue a write to a remote node if
that write fails and periodically retry the write.
2015-06-05 22:16:51 -06:00
Jason Wilder
170c584b45
Add hinted handoff config and tests
2015-06-05 22:16:51 -06:00
David Norton
fcf89c87dd
cr #2733 : uncomment defer in test
2015-06-05 22:30:57 -04:00
David Norton
a235b4998d
fix #2733 : trying to fix CI race
2015-06-05 20:23:44 -04:00
David Norton
e107a681c5
cr #2733 : make error message more detailed
2015-06-05 19:56:28 -04:00
David Norton
d8f0445940
fix #2733 : fix race in tests
2015-06-05 19:56:28 -04:00
David Norton
fb514f2302
fix #2733 : add endpoint to trigger CQ(s)
2015-06-05 19:56:28 -04:00
David Norton
8699aa8f0b
fix #2733 : more tests
2015-06-05 19:56:28 -04:00
David Norton
e0838cb705
fix #2733 : add tests for CQ service
2015-06-05 19:54:23 -04:00
David Norton
092bc3fd2d
fix #2733 : hook CQs back in
2015-06-05 19:54:23 -04:00
Philip O'Toole
041b31d6b3
Merge pull request #2783 from renan-/udp-refresh
...
Make UDP service code simpler
2015-06-05 16:23:16 -07:00
Ben Johnson
b925e1c1af
Multi-node clustering.
...
This commit adds the ability to cluster multiple nodes together to share
the same metadata through raft consensus.
2015-06-05 14:41:19 -06:00
Philip O'Toole
c59a234e7b
Deleted shard groups are not counted as "expired"
2015-06-05 13:08:36 -07:00
Philip O'Toole
a4a05241ba
Set retention enforcement default config
2015-06-05 11:27:30 -07:00
Philip O'Toole
967ebe0568
Stop retention timers on service shutdown
2015-06-05 08:17:27 -07:00
Renan Strauss
e8ab17dbc5
[services/udp] Clean-up the code
2015-06-05 10:55:10 +02:00
Philip O'Toole
5e5f2cd37d
Move expired and deleted shard logic to MetaStore
2015-06-04 22:18:52 -07:00
Philip O'Toole
ae3e8c727a
Don't append retention service if not enabled
2015-06-04 21:47:06 -07:00
Philip O'Toole
28e853d915
Unit-test retention config
2015-06-04 21:47:06 -07:00
Philip O'Toole
8600e2e036
Add shard group "DeletedAt" timestamps
2015-06-04 21:46:52 -07:00
Philip O'Toole
37f9a886b7
Retention service now deletes shards
2015-06-04 21:07:22 -07:00
Philip O'Toole
fab9adb361
Hook in actual retention service
2015-06-04 17:02:22 -07:00
Renan Strauss
3b09a59540
Add UDP service back
2015-06-04 10:24:48 +02:00
Cory LaNou
5c52c4cda1
add ability to set logger for testing
2015-06-03 09:58:39 -06:00
Jason Wilder
c36cec70f2
Merge pull request #2748 from influxdb/jw-points-name
...
Ensure JSON point writes have names and at least 1 field
2015-06-02 20:50:16 -06:00
Jason Wilder
5c96b03e3b
Preventing writing points with no measument name or fields
...
Causes the shard write to fail which ends up closing the shard and
future writes cause a panic.
2015-06-02 20:38:15 -06:00
Cory LaNou
b3f215ac5f
add back epoch conversion on query results
2015-06-02 14:49:05 -06:00
Ben Johnson
44d38cb430
Merge branch 'master' into alpha1
2015-06-02 10:40:52 -06:00
Cory LaNou
d962283ae6
adding some integration tests
2015-06-01 16:04:20 -06:00
Cory LaNou
17bdf1c114
get both json/line protocol endpoints working
2015-06-01 12:35:57 -06:00
Cory LaNou
d581254719
fix tests
2015-06-01 11:59:58 -06:00
Cory LaNou
3597565955
reading and writing yo!
2015-06-01 11:59:58 -06:00
Jason Wilder
badb2bf057
Use content negotiation for /write API
...
If content-type is "application/json", we'll process the request as
of old JSON write API. Otherwise, we assume line protocol but check
the first byte in case a older client is still sending JSON without the
correct content-type header.
2015-06-01 11:15:46 -06:00
Ben Johnson
bf823d9887
Integrating cmd/influxd/run.
2015-05-30 14:06:36 -06:00
Ben Johnson
2b5d04aee3
Fix local test listener.
2015-05-30 09:01:04 -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