flux v3.0.1

InfluxDB v2.x crystal-lang client / Flux query language tools

flux

Client library for pushing data to, and querying information from InfluxDB v2.x.

Installation

  1. Add the dependency to your shard.yml:
dependencies:
  flux:
    github: place-labs/flux
  1. 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

  1. Fork it (https://github.com/place-labs/flux/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Repository

flux

Owner
Statistic
  • 6
  • 2
  • 3
  • 2
  • 3
  • over 2 years ago
  • December 11, 2019
License

MIT License

Links
Synced at

Wed, 01 May 2024 20:58:03 GMT

Languages