#metrics #metrics-exporter #facade #macro

app metrics-observer

基于文本的metrics-exporter-tcp用户界面

3个版本 (破坏性更新)

0.4.0 2024年5月27日
0.3.0 2023年12月24日
0.2.0 2023年4月16日

#781 in 调试

Download history 1/week @ 2024-05-20 149/week @ 2024-05-27 9/week @ 2024-06-03 6/week @ 2024-06-10 2/week @ 2024-06-17

每月163次下载

MIT许可证

500KB
5K SLoC

metrics-observer

用于观察由metrics-exporter-tcp导出的指标的基于文本的UI。

快速入门

# Install it:
cargo install metrics-observer

# Connect to an application using the defaults of metrics-exporter-tcp
# which is 127.0.0.1:5000:
metrics-observer

# Specify a custom address to connect to:
metrics-observer 192.168.1.1:5000

理解输出

状态栏

顶部的状态栏将跟踪连接状态,并列出可能的控制选项。以下是观察器与目标进程断开连接并等待重试连接的截图。

observer disconnected

基本数据显示

随着进程发出指标,它们将被发送到观察器并显示。由于metrics-exporter-tcp本身不存储任何指标,在重新连接时,所有之前的数据都将丢失,观察器将从头开始收集。

对于计数器,您将看到以下形式的值:total: <value>,其中<value>是自我们连接到端点以来的计数器总数。对于仪表,而不是total:,您将看到以current:为前缀。对于直方图,将计算一组预定义的百分位数:最小值、p50、p99、p999和最大值。

标签显示在指标名称后面的方括号中。在此示例中,您可以看到一个将system标签设置为值foo的指标。

以下是一个简单的示例

observer connected, histogram with same timebase for each percentile

单元支持

如果一个给定的指标定义了其单位,那么metrics-observer将相应地显示它们。我们使用给定单位的规范标签值,该值基于单位的官方缩写或最常用的标签。例如,基于数据速率的单位,如每秒太比特,将显示为Tbps,而基于数据的单位,如米比字节,将显示为MiB。然而,对于不是官方单位的每秒计数单位,我们使用常用的标签/s

除了对带有单位的指标进行标签化之外,我们还特别以更人性化的方式缩放基于时间的单位。例如,如果一个值被定义为纳秒,但实际上它代表1.5毫秒,我们将其显示为1.5ms,而不是仅显示纳秒的完整值。这也适用于使用基于时间的单位的直方图,其中每个百分位数将以最合适的时间基准显示。

以下是一个示例,其中一些指标有单位,我们有一个直方图,其中百分位数具有不同的时间基准的值

observer connected, histogram with percentiles in different timebases

依赖项

~4–11MB
~102K SLoC