* Update the infludb broker to not need a server so that it'll work on non-data node servers
* Update messaging broker to keep track of connect urls for replicas
* Pull out magic numbers for running CQs in the broker
* Typo fixes in comments
* Update the process_continuous_queries endpoint to not have gzip
* Remove previous implementation of MeasurementNames in favor of new simpler one
* Fix run to work with CQ broker
* Fix CQ handler
* Fix SetTimeRange to use RFC3339Nano
* Fix the time range tests
* Fix the parser to parse for RFC3339Nano literals in addition to the other format
* Add logic for running CQs
* Remove duplicate WriteBufferSize default setting from config
* Update defaults on Broker for when to trigger CQ runs
* Add config settings for how often to calculate and recalculate CQ results
* Update Server to have CQ settings
* Update AST to fold removed time literals when setting time range
* Add periodic CQ running functionality to server
* Update SelectStatement to have GroupByInterval
* Update parser to verify that CQs have GroupByInterval if Aggregated
* Implement CreateContinousQuery on Server
* Add ContinuousQueries to database
This encapsulates a few previously free-floating methods. This means
that params such as "separator" and "last-enabled" are not passed from
function to function, and also makes initialization of TCP and UDP
Servers somewhat clearer.
It also removes early use of "GraphiteProcessor".
Added ability to specifiy a seperator for a metric_path.
Default is "."
Added ability to specify position of name from metric_path
Options are "first" or "last".
Defaults to the first position.
Normalized the graphite.Metric struct to only have a Value.
Changes to be committed:
modified: cmd/influxd/config.go
modified: cmd/influxd/config_test.go
modified: cmd/influxd/run.go
modified: graphite/graphite.go
modified: graphite/graphite_test.go
Graphite server now understands how to use the WriteSeries
Added ability for series information to be passed in the graphite name.
Format is:
key.value.key.value.metric 50 <timestamp>\n
Example:
region.us-west.hostname.server01.cpu .09323432 1419958066\n
Added test coverage for the Graphite endpoint. Need to figure out
how to test a successful listenAndServe.
Need to add tests around new configuration for default values
when not specified for graphite servers.
Changes to be committed:
modified: cmd/influxd/config.go
modified: cmd/influxd/config_test.go
modified: cmd/influxd/run.go
modified: graphite.go
new file: graphite_test.go
Graphite server now understands how to use the WriteSeries
Added ability for series information to be passed in the graphite name.
Format is:
key.value.key.value.metric 50 <timestamp>\n
Example:
region.us-west.hostname.server01.cpu .09323432 1419958066\n
Added test coverage for the Graphite endpoint. Need to figure out
how to test a successful listenAndServe.
Need to add tests around new configuration for default values
when not specified for graphite servers.
Changes to be committed:
modified: cmd/influxd/config.go
modified: cmd/influxd/config_test.go
modified: cmd/influxd/run.go
modified: graphite.go
new file: graphite_test.go
This change refactors the existing 'run' command such that repeated code
is removed. It uses -- in a much clearer manner -- the existence of the
Broker and Storage directories to work out in which mode it should run.
The only extra piece of state required on a disk is an empty file,
whose simple existence indicates that a local (loopback) client is
needed.
With this change in place the 'join-cluster' and 'create-cluster'
commands are much closer to being fully functional, since they simply
don't create the empty file. Therefore it all just works.
This change adds a CLI styled after the Go tool chain, with a design
inspired by that system. It adds 4 new commands, 'run',
'create-cluster', 'join-cluster', and 'version'. Full help is also
supplied.
Local-mode 'run' is fully functional, and 'create-cluster' also works.