4个版本
使用旧的Rust 2015
0.1.3 | 2017年5月4日 |
---|---|
0.1.2 | 2017年3月21日 |
0.1.1 | 2017年2月20日 |
0.1.0 | 2017年2月19日 |
#495 in 科学
73KB
602 行
capella
capella 是一个用Rust编写的异步StatsD服务器。
文档
构建和测试
capella使用Cargo进行构建和测试。您也可以直接从Crates网站安装它。
# Install from crates.io.
cargo install capella
# Building capella with optimizations.
cargo build --release
# Running the unit tests.
cargo test
配置
capella使用基于环境变量的配置文件,文件名为 capella.env
。capella期望此文件与二进制文件位于同一目录。目前所需的配置值如下
# The connection string for the graphite host. It includes an IP address as well as a port.
CAPELLA_GRAPHITE_CONNECTION=127.0.0.1:2003
# The address and port on which capella should listen.
CAPELLA_LISTENER=127.0.0.1:8125
# The flushing duration defines how long capella buffers metrics before sending to graphite.
# It is defined in seconds.
CAPELLA_FLUSH_DURATION=10
# Set the log level for the `env_logger` module.
RUST_LOG=info
支持的指标
capella支持StatsD实现的四种指标。它们是计数器、仪表、计时器和集合。
计数器
计数器代表只能增加的指标。计数器还可以具有一个关联的采样率,告诉capella该指标只发送了一部分时间。
# This tells capella that the rate is only being sent once every half of the flush duration.
counter:1|c|@0.5
仪表
仪表可以波动正负。它们与汽车中的仪表类似。
# This subtracts one from the current value for the "gauge" key.
gauge:-1|g
集合
集合是包含唯一值集合的指标。capella为此类型指标推导出的指标是集合的基数。
# Add a new value to the set which is only added if it doesn't exist.
set:11|s
计时器
计时器独特之处在于许多统计数据都来自它们。每个刷新周期的计时器生成以下内容
- 最小值
- 最大值
- 计数
- 平均值
- 标准差
- 中位数
- 95%分位数
计时器也支持采样。
timer:1.5|ms
未来计划
目前,capella的配置性远远不如原始StatsD。它可能永远不会,但会根据需要添加最常用的选项的支持。capella将继续添加单元测试来增加代码覆盖率并确保指标处理与StatsD相同。请提出问题以询问添加功能或指出错误。
作者
capella由Garrett和Ralph开始。这个名字受到了Garrett最喜欢的乐队Rosetta的启发。
许可协议
capella在MIT许可协议下发布。
依赖关系
~14MB
~246K SLoC