Commit Graph

10 Commits (2b17378e76850f8cc157a7685fc90965ba404cad)

Author SHA1 Message Date
Chris Goller 2b17378e76 Update Database to be DB 2016-09-21 15:11:29 -07:00
Chris Goller 113fa01323 Add simple influx backend through cli option. 2016-09-21 15:03:07 -07:00
Chris Goller 688ebe8167 Update database and rp to use default parameters 2016-09-21 09:53:36 -07:00
Chris Goller 0a5330327f Update query interface to take database and rp 2016-09-21 09:53:36 -07:00
Tim Raymond aacc6180d3 Rework domain errs to be strings
At @goller's recommendation, we're following @benbjohnson's advice laid
out here: https://github.com/benbjohnson/wtf/blob/master/errors.go and
moving errors to the top level package. This cleaned up some ugliness in
the tests where we needed to type assert.
2016-09-19 10:12:52 -04:00
Tim Raymond 536fa7de8f Update influx package to support MonitoredServices
The Timeseries interface was updated to include MonitoredServices as
part of its spec. This adds a stub implementation of that.
2016-09-16 12:11:28 -04:00
Tim Raymond d3da914994 Add timeout error for influx
This adds a type to be returned when requests to InfluxDB were cancelled
or timed out.
2016-09-15 15:08:25 -04:00
Tim Raymond a8291c602c Add coverage for bad hostnames and cancellation
The case where users passed bad hostnames to create new influx clients
was untested as well as the cancellation logic.
2016-09-15 14:01:53 -04:00
Tim Raymond e7562c298f Supprt for cancelling in-flight influx requests
If a request upstream is cancelled, we can propagate the cancellation
down to our queries to Influx using context's cancellation
functionality. This patch adds support for this.
2016-09-15 13:42:56 -04:00
Tim Raymond 2841364ec4 Add influx client
This adds a simple HTTP influx client to fetch time series results. It
implements the TimeSeries interface. Also included is an implementation
of the mrfusion.Results interface that wraps results returned from the
influx client.

We only support HTTP connections (there's also a UDP influx client). We
also require that all Queries to Influx be fully-qualified--they should
include the database and retention policies in the query.

This also makes Resuls a json.Marshaler. In order to hand results back
to clients, we need to guarantee that those results can be serialized to
json in some form. json.Marshaller is just such a guarantee!
2016-09-14 13:46:43 -04:00