influx-d 0.2.13

InfluxDB wrapper


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

influxdb-dlang-wrapper

D programming language wrapper for InfluxDB.

Generated documentation

Integration Tests/Examples

API documentation

Getting started tutorial (hopefully self-explanatory)


import influxdb;

// this will connect and create the `mydb` database if not already in InfluxDB
const database = Database("http://localhost:8086" /*URL*/, "mydb" /*DB name*/);

// no explicit timestamp
database.insert(Measurement("cpu" /*name*/,
                            ["tag1": "foo"] /*tags*/,
                            ["temperature": InfluxValue(42)] /*values*/));
// `insert` can also take `Measurement[]` or a variadic number of `Measurement`s
// Measurement also has a contructor that does't take tags:
// auto m = Measurement("cpu", ["temperature": InfluxValue(42)]);

// explicit timestamp
import std.datetime: Clock;
database.insert(Measurement("cpu",
                            ["tag1": "foo"],
                            ["temperature": InfluxValue(68)],
                            Clock.currTime));

// this will have the two measurements given the code above
const response = database.query("SELECT * FROM cpu");

// Accessing the response.
// The code below assumes a response with one result and that result has only
// one series.

assert(response.results.length == 1);
const result = response.results[0];
assert(result.statement_id == 0);
assert(result.series.length == 1);
const series = result.series[0];
assert(series.rows.length == 1);
const row = series.rows[0];

assert(row.time == SysTime(DateTime(2015, 06, 11, 20, 46, 2), UTC()));
assert(row["foo"] == "bar");

assert(series ==
        MeasurementSeries(
            "lename", //name
            ["time", "othervalue", "tag1", "tag2", "value"], //column names
            //values
            [
                ["2015-06-11T20:46:02Z", "4", "toto", "titi", "2"],
                ["2017-03-14T23:15:01.06282785Z", "3", "letag", "othertag", "1"],
            ]
        ));

About Kaleidic Associates

We are a boutique consultancy that advises a small number of hedge fund clients. We are not accepting new clients currently, but if you are interested in working either remotely or locally in London or Hong Kong, and if you are a talented hacker with a moral compass who aspires to excellence then feel free to drop me a line: laeeth at kaleidic.io

We work with our partner Symmetry Investments, and some background on the firm can be found here:

http://symmetryinvestments.com/about-us/

Authors:
Atila Neves, Ilya Yaroshenko
Dependencies:
asdf, vibe-d:http
Versions:
0.2.13 2017-Jul-25
0.2.12 2017-Jul-12
0.2.11 2017-Jun-12
0.2.10 2017-May-19
0.2.9 2017-May-18
Show all 15 versions
Download Stats:
  • 9 downloads today

  • 34 downloads this week

  • 301 downloads this month

  • 1359 downloads total