flux
Client library for pushing data to, and querying information from InfluxDB v2.x.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
flux:
github: place-labs/flux
- Run
shards install
Usage
require "flux"
Configure the client
Define your client configuration with Flux.configure
. This yields an
Options
object
with appriopriate setters.
Flux.configure do |settings|
settings.uri = ENV["INFLUX_HOST"]? || abort "INFLUX_HOST env var not set"
settings.api_key = ENV["INFLUX_API_KEY"]? || abort "INFLUX_API_KEY env var not set"
settings.org = ENV["INFLUX_ORG"]? || "vandelay-industries"
settings.bucket = ENV["INFLUX_BUCKET"]? || "latex-sales"
end
NOTE: INFLUX_HOST
is expected to be a well-formed URI.
Writing data
Use Flux.write
to enqueue a point. Writes are automatically buffered and
flushed after either a time delay or optimal write size.
Running queries
Once information is available in the bucket, queries are executed with
Flux.query
. This accepts a Flux
expression.
Parallel clients
If your application requires connectivity with more that one InfluxDB instance
or bucket, clients can be directly created with Flux::Client.new
.
Contributing
- Fork it (https://github.com/place-labs/flux/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Kim Burgess - creator and maintainer