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 次

Apache-2.0 OR MIT

315KB
3.5K SLoC

Spirit-hyper

Travis Build Status

自动配置 dipstick 后端的辅助工具。它是 spirit 系统的一部分。

请参阅 文档示例

许可证

许可方式如下

任选其一。

贡献

除非你明确说明,否则任何有意提交以包含在作品中的贡献,根据 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