#metrics-exporter #metrics #exporter #scope

metrics-exporter-scope

度量范围导出器

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

Download history 419/week @ 2024-08-17

419 次每月下载
用于 metrics-scope

Apache-2.0 协议

2MB
373

metrics-exporter-scope crates.io 页面 docs.rs 页面

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);

客户端程序支持的颜色有:redgreenblueyellowcyanmagentaorangewhiteblack。颜色也可以设置为 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