#monitoring #meter #linux #integer-value #api-bindings

libcantal

一个将统计信息提交给cantal监控服务器的Rust库

5个版本

使用旧的Rust 2015

0.3.2 2017年9月15日
0.3.1 2017年8月17日
0.3.0 2017年8月1日
0.2.1 2017年5月24日
0.2.0 2017年5月24日

#705 in 机器学习


3 crates 中使用

MIT/Apache

35KB
789

cantal-rs

状态测试版
文档http://docs.rs/libcantal/

Cantal是一个实验性的心跳、监控和统计解决方案。

这是一个将统计数据发送到cantal的Rust库。

许可证

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。


lib.rs:

一个公开发送给cantal的指标的库

有关协议的更多信息,请参阅 mmap协议

示例

use libcantal::{Counter, Integer, Value, start, print};

// Declare metrics as static variables, so you can use it in a module
// freely, i.e. increment/decrement at any time
lazy_static! {
    static ref COUNTER: Counter = Counter::new();
    static ref INTEGER: Integer = Integer::new();
}

// Put metrics in a collection
let metrics = [
    (json!({"metric": "counter"}), &*COUNTER as &Value),
    (json!({"metric": "integer"}), &*INTEGER as &Value),
];
// The collection guard. When it's alive, all the metrics are exposed
let _coll = start(&metrics[..]).expect("cantal works");

// ...
// Somewhere later use the metrics:
COUNTER.incr(1);
INTEGER.set((COUNTER.get() / 7) as i64);

// And at any time you can print the collection for debugging
print(&metrics[..], stdout()).ok();
#

依赖项

~0.6–1MB
~23K SLoC