8 个版本
0.3.0 | 2020年7月20日 |
---|---|
0.2.0 | 2019年10月19日 |
0.1.5 | 2019年7月11日 |
0.1.4 | 2019年5月28日 |
0.1.1 | 2019年3月29日 |
#347 in 性能分析
每月下载 27 次
315KB
3.5K SLoC
Spirit-hyper
自动配置 dipstick 后端的辅助工具。它是 spirit 系统的一部分。
许可证
许可方式如下
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确说明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应如上双许可,不附加任何额外条款或条件。
lib.rs
:
为 [dipstick] 指标库提供配置支持。
这为 spirit
系列库提供了一个配置 Fragment
。它配置库的“后端”部分——发送指标到某处的部分,例如 statsd 或文件。
示例
use dipstick::{stats_all, InputScope};
use serde::Deserialize;
use spirit::{Empty, Pipeline, Spirit};
use spirit::prelude::*;
use spirit_dipstick::{Config as MetricsConfig, Monitor};
#[derive(Debug, Default, Deserialize)]
struct Cfg {
metrics: MetricsConfig,
}
impl Cfg {
fn metrics(&self) -> &MetricsConfig {
&self.metrics
}
}
const CFG: &str = r#"
[metrics]
prefix = "example" # If omitted, the name of the application is used
flush-period = "5s" # Dump metric statistics every 5 seconds
backends = [
{ type = "file", filename = "/tmp/metrics.txt" },
{ type = "stdout" },
]
"#;
fn main() {
let root = Monitor::new();
Spirit::<Empty, Cfg>::new()
.config_defaults(CFG)
.with(
Pipeline::new("metrics")
.extract_cfg(Cfg::metrics)
.install(root.installer(stats_all)),
)
.run(move |_| {
let counter = root.counter("looped");
counter.count(1);
Ok(())
});
}
依赖关系
~6MB
~107K SLoC