1个不稳定版本
0.1.0 | 2024年7月25日 |
---|
在 值格式化 中排名 36
每月 111 次下载
33KB
836 行
MetCo
受StatsD启发的指标收集器。
与StatsD相比,新增/删除的功能包括
- 支持额外的时单位如
seconds
、microseconds
和nanoseconds
, - 删除仪表,
- 可以直接将仪表设置为负值,而无需先将其设置为0,
- 不支持集合,
- 没有采样间隔。
免责声明
我还在学习Rust,尽管我已经在没有问题的前提下为我的两位客户在生产环境中运行了它,但我不能建议您这样做,除非您已经检查过我的源代码。我相信它相当稳定,但作为一个专业人士,我不能保证这不会给您带来一些问题。
话虽如此,我期待着更有经验的Rust开发者提出改进意见,并帮助我在Rust上取得更好的进步。
此外,我计划将其保持得尽可能简单,因为我喜欢Linux哲学“做一件事,做好它”。
协议
协议是一种简单的基于文本的协议。指标以 name|type|value
的形式存在,根据指标类型,可选的附加字段由 |
分隔。
指标名称可以是任何至少一个字节的有效的UTF-8序列。如果需要,后端负责对名称进行清理。管道字符和反斜杠可以使用反斜杠转义。
类型可以是 c
、t
或 g
中的任何一个。
值格式和可选的附加字段由指标类型定义。
可以发送多个指标,用 \n
分隔。在解析错误发生之前解析的数据仍然被认为是有效的,但剩余的数据不会解析。
计数器
值始终是正的自然数。
abc|c|1234
计时器
默认分辨率为毫秒。
值始终是正的自然数
abc|t|1234
支持的分辨率有 s
、ms
、us
和 ns
。
abc|t|1234|ms
仪表
值是自然数。
abc|g|123
abc|g|-123
无需设置值,可以通过指定数量的增加/减少来更新。
abc|g|+=123
abc|g|-=123
可以通过发送x
作为值来移除仪表。
abc|g|x
依赖关系
~10-21MB
~305K SLoC