A header-only C++ query & write client for InfluxDB.
The very simple thing you should do before using is only:
#include "influxdb.hpp"
You should refer to the write syntax while writing series(metrics).
measurement[,tag-key=tag-value...] field-key=field-value[,field2-key=field2-value...] [unix-nano-timestamp]
You can rapidly start writing serires by according to the following example.
influxdb_cpp::server_info si("127.0.0.1", 8086, "db", "usr", "pwd");
influxdb_cpp::builder()
.meas("foo")
.tag("k", "v")
.tag("x", "y")
.field("x", 10)
.field("y", 10.3, 2)
.field("z", 10.3456)
.field("b", !!10)
.timestamp(1512722735522840439)
.post_http(si);
precision
of field()
is optional for floating point value, and default precision is 2
. usr
and pwd
is optional for authorization.The series sent is:
foo,k=v,x=y x=10i,y=10.30,z=10.35,b=t 1512722735522840439
You could change post_http
to send_udp
for udp request. And only host
and port
is required for udp.
influxdb_cpp::builder()
.meas("foo")
.field("x", 10)
.send_udp("127.0.0.1", 8091);
Bulk/batch/multiple insert also supports:
influxdb_cpp::builder()
.meas("foo") // series 1
.field("x", 10)
.meas("bar") // series 2
.field("y", 10.3)
.send_udp("127.0.0.1", 8091);
The series sent are:
foo x=10i
bar y=10.30
And you can query series by according to the following example.
influxdb_cpp::server_info si("127.0.0.1", 8086, "db", "usr", "pwd");
string resp;
influxdb_cpp::query(resp, "select * from t", si);
You should do URL encode first.
string encoded_pwd;
influxdb_cpp::url_encode(encoded_pwd, pwd);
Functions | Code | Description |
---|---|---|
send_udp post_http |
0 | success |
send_udp post_http |
-1 | convert host address to network order error |
send_udp post_http |
-2 | create socket error |
send_udp post_http |
-3 | sendto / connect failed |
post_http |
-6 | send buffer error |
post_http |
-7 | expect a character but read no more |
post_http |
-8 | unexpected characters while parsing chunk length |
post_http |
-9 | unexpected characters while parsing new line |
post_http |
-10 | unexpected null character |
post_http |
-11 | unexpected end |