influxive-writer

Crates.ioinfluxive-writer
lib.rsinfluxive-writer
version0.0.5
created_at2023-07-21 21:48:56.624864+00
updated_at2025-08-12 12:49:14.39608+00
descriptionRust utility for efficiently writing metrics to a running InfluxDB instance
homepage
repositoryhttps://github.com/holochain/influxive
max_upload_size
id922693
size77,928
Eric Harris-Braun (zippy)

documentation

https://docs.rs/influxive-writer

README

Project Forum Chat

License: MIT License: Apache-2.0

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`

Commit count: 39

cargo fmt