4 个版本
新版本 0.1.3 | 2024 年 8 月 22 日 |
---|---|
0.1.2 | 2024 年 8 月 22 日 |
0.1.1 | 2024 年 8 月 21 日 |
0.1.0 | 2024 年 8 月 19 日 |
#15 in #exporter
419 次每月下载
用于 metrics-scope
2MB
373 行
metrics-exporter-scope
Rust 度量生态系统的示波器。
简介
metrics-exporter-scope
是一个 metrics 库的导出器,旨在输出频繁变化的指标快照。其功能类似于经典示波器,应用场景也相似:该库是为了以高频率(1Hz+)采样指标而开发的,主要用于显示嵌入式系统、工业自动化控制器、机器人、网络设备等实时数据。
metrics-exporter-scope
是 RoboPLC 项目的组成部分。
使用方法
配置
使用默认设置安装导出器(绑定到 0.0.0.0:5001
)
metrics_exporter_scope::ScopeBuilder::new().install().unwrap();
定义指标
该导出器仅与 Gauge
指标一起工作.
该库被设计为次要指标导出器,所有带有范围的前缀 ~
的指标都必须使用。没有前缀的指标要么被忽略,要么由主程序导出器导出。
use metrics::gauge;
gauge!("~my_metric").set(42.0);
指标标签
指标可以有额外的标签,其中一些用于客户端程序通过 plot
标签键配置图表。
use metrics::gauge;
gauge!("~my_metric", "plot" => "plot1").set(42.0);
gauge!("~my_metric2", "plot" => "plot1").set(42.0);
上面的示例将两个指标组合到同一图表中。
指标颜色
color
标签键用作客户端程序设置与指标关联的图表线条颜色的提示。
use metrics::gauge;
gauge!("~my_metric", "color" => "blue").set(42.0);
gauge!("~my_metric2", "color" => "#99ccff").set(42.0);
客户端程序支持的颜色有:red
、green
、blue
、yellow
、cyan
、magenta
、orange
、white
、black
。颜色也可以设置为 RGB,使用 #RRGGBB
或 #RGB
格式。
回退到主导出器
如果度量指标没有以 ~
前缀,它将由主导导出器进行处理。
let primary_recorder = SomePrimaryMetricsRecorder::new();
metrics_exporter_scope::ScopeBuilder::new()
.with_fallback(Box::new(primary_recorder))
.install()
.unwrap();
一个回退示例可以在 examples/with-fallback.rs 中找到。
客户端安装
存储库包含一个示波器客户端实现,适用于所有主要桌面平台。
cargo install metrics-scope
客户端功能
-
实时数据可视化
-
支持多个度量指标
-
简单移动平均
-
触发器
实时安全
导出器不包含任何锁,可以在实时程序中使用。建议在专用线程中安装服务器。
MSRV
默认情况下,该包支持最新的 metrics
版本,有关实际支持的最低 Rust 版本详情,请参阅 metrics README。
通过禁用默认功能并启用 msrv
功能,该包也可以构建为支持 MSRV 1.68.0。
[dependencies]
metrics-exporter-scope = { version = "0.1", default-features = false, features = ["msrv"] }
如果设置,则使用 metrics
版本 0.22。
依赖关系
~4–14MB
~146K SLoC