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 科学

MIT许可协议

73KB
602

capella

capella 是一个用Rust编写的异步StatsD服务器。

galaxy

Build Status

文档

构建和测试

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由GarrettRalph开始。这个名字受到了Garrett最喜欢的乐队Rosetta的启发。

许可协议

capella在MIT许可协议下发布。

依赖关系

~14MB
~246K SLoC