#metrics #influx-db #集成 #open-telemetry #高级 #系统 #仪表

influxive

OpenTelemetry 仪表和 InfluxDB 的 Rust 高级集成

11 个版本

0.0.3-alpha.12024 年 6 月 5 日
0.0.2-alpha.12023 年 10 月 16 日
0.0.1-alpha.112023 年 8 月 4 日
0.0.1-alpha.92023 年 7 月 31 日

#411开发工具

Download history 525/week @ 2024-05-02 345/week @ 2024-05-09 631/week @ 2024-05-16 541/week @ 2024-05-23 881/week @ 2024-05-30 614/week @ 2024-06-06 611/week @ 2024-06-13 546/week @ 2024-06-20 473/week @ 2024-06-27 642/week @ 2024-07-04 401/week @ 2024-07-11 543/week @ 2024-07-18 478/week @ 2024-07-25 588/week @ 2024-08-01 389/week @ 2024-08-08 317/week @ 2024-08-15

1,851 每月下载量
用于 3 个 Crates(2 个直接使用)

MIT/Apache

84KB
2K SLoC

Project Forum Chat

License: MIT License: Apache-2.0

OpenTelemetry 仪表和 InfluxDB 的 Rust 高级集成。

示例

简单、零配置的 InfluxDB 作为子进程

let tmp = tempfile::tempdir().unwrap();

// create our meter provider
let (_influxive, meter_provider) = influxive::influxive_child_process_meter_provider(
    influxive::InfluxiveChildSvcConfig::default()
        .with_database_path(Some(tmp.path().to_owned())),
    influxive::InfluxiveMeterProviderConfig::default(),
).await.unwrap();

// register our meter provider
opentelemetry_api::global::set_meter_provider(meter_provider);

// create a metric
let m = opentelemetry_api::global::meter("my.meter")
    .f64_histogram("my.metric")
    .init();

// make a recording
m.record(3.14, &[]);

连接到已运行的 InfluxDB 系统进程

// create our meter provider
let meter_provider = influxive::influxive_external_meter_provider_token_auth(
    influxive::InfluxiveWriterConfig::default(),
    influxive::InfluxiveMeterProviderConfig::default(),
    "http://127.0.0.1:8086",
    "my.bucket",
    "my.token",
);

// register our meter provider
opentelemetry_api::global::set_meter_provider(meter_provider);

// create a metric
let m = opentelemetry_api::global::meter("my.meter")
    .f64_histogram("my.metric")
    .init();

// make a recording
m.record(3.14, &[]);

依赖项

~10–22MB
~313K SLoC