Expand description
Rust utility for efficiently writing metrics to InfluxDB. Metrics can be written directly to a running InfluxDB instance or written to a Line Protocol file on disk that can be pushed to InfluxDB using Telegraf.
§Example
§Writing to a running InfluxDB instance
use influxive_core::Metric;
use influxive_writer::*;
let writer = InfluxiveWriter::with_token_auth(
InfluxiveWriterConfig::default(),
"http://127.0.0.1:8086",
"my.bucket",
"my.token",
);
writer.write_metric(
Metric::new(
std::time::SystemTime::now(),
"my.metric",
)
.with_field("value", 3.14)
.with_tag("tag", "test-tag")
);
§Writing to a file on disk
use influxive_core::Metric;
use influxive_writer::*;
let path = std::path::PathBuf::from("my-metrics.influx");
let config = InfluxiveWriterConfig::create_with_influx_file(path.clone());
// The file backend ignores host/bucket/token
let writer = InfluxiveWriter::with_token_auth(config, "", "", "");
writer.write_metric(
Metric::new(
std::time::SystemTime::now(),
"my.metric",
)
.with_field("value", 3.14)
.with_tag("tag", "test-tag")
);
// Now you can read and use the metrics file `my-metrics.influx`
Modules§
- types
- Backend types you probably don’t need.
Structs§
- Influxive
Writer - InfluxDB metric writer instance.
- Influxive
Writer Config - InfluxDB metric writer configuration.