Prometheus Rust客户端库
Rust客户端库实现了开放度量规范。允许开发人员对应用程序进行检测,从而使运维人员可以使用像Prometheus这样的监控系统来监控这些应用程序。
文档:https://docs.rs/prometheus-client/
目标
-
没有
unsafe
。不要在库本身中使用不安全的Rust。 -
类型安全。利用Rust的类型系统在编译时捕获常见的仪器化错误。
-
快速。不要让用户担心仪器化的性能影响。相反,鼓励用户经常和广泛地进行仪器化。
规范合规性
以下是客户端库实现与开放度量规范存在差距的属性列表。不符合规范的所有要求(MUST
和MUST NOT
)都被认为是一个错误,将来可能会修复。欢迎各种形式的贡献。
-
设置指标状态。
-
执行"直方图MetricPoint必须至少包含一个桶"。
-
执行"MetricFamily必须有一个[...]UNIT元数据"。
-
执行"MetricFamily名称[...]在MetricSet中必须是唯一的"。
-
执行"名称应该是蛇形大小写"。
-
执行"以下划线开头的MetricFamily名称是保留的,不得使用,除非本标准中有规定"。
-
执行"曝光者应该避免使用可能与文本格式样本指标名称使用的后缀相混淆的名称"。
-
量表直方图指标。
-
允许"Metric类型为[Counter, Histogram]的MetricPoint中应有一个称为Created的时间戳值"。
-
汇总指标。
相关库
- rust-prometheus: 参见tikv/rust-prometheus/#392了解高层次比较。
许可证
根据以下任一选择获得许可:
- Apache许可证,第2.0版(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则您有意提交以纳入该工作的任何贡献,如Apache-2.0许可证中所定义,将同时获得上述双重许可,而无需任何其他条款或条件。