InfluxDB.cr

InfluxDB driver for Crystal.

Status: Developer Preview

Working on this from time to time, a lot of missing querying features.

Installation

Add this to your application's shard.yml:

dependencies:
  influxdb:
    github: jeromegn/influxdb.cr

Usage

require "influxdb"

client = InfluxDB::Client.new
db = client.databases["db_name"]

Writing data

There are many ways to write data to influxdb.

Write one data point with a value:

db.write "your_series", 10 # => true
db.write "your_series", InfluxDB::Fields{:a_field => 100, :value => 10000}

Write many data points:

db.write do |points|
  points.write "your_series", 10
  points.write "another_series", 100
  points.write "another_series", 1000, InfluxDB::Tags{:a_tag => "hello"}
end # => true

Write points with fields, tags and a timestamp:

db.write "your_series", InfluxDB::Fields{:a_field => 100, :value => 10000},
  tags: InfluxDB::Tags{:region => "us"}, timestamp: Time.now

Write a point synchronously

db.write "your_series", 10, sync: true # => true or false depending on the response

Contributing

  1. Fork it ( https://github.com/jeromegn/influxdb.cr/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