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 中使用
35KB
789 行
许可证
根据您的选择,许可协议为以下之一
- Apache许可证第2版(./LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(./LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据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