#metrics-exporter #metrics #tcp #telemetry

metrics-exporter-tcp

一个将指标输出到客户端的TCP兼容的指标导出器

17个版本 (9个破坏性更新)

0.10.0 2024年5月27日
0.9.0 2023年12月24日
0.8.0 2023年4月16日
0.7.0 2022年7月21日
0.1.0-alpha.22020年7月27日

#397调试

Download history 231/week @ 2024-04-17 206/week @ 2024-04-24 340/week @ 2024-05-01 539/week @ 2024-05-08 490/week @ 2024-05-15 631/week @ 2024-05-22 799/week @ 2024-05-29 656/week @ 2024-06-05 761/week @ 2024-06-12 911/week @ 2024-06-19 677/week @ 2024-06-26 548/week @ 2024-07-03 381/week @ 2024-07-10 534/week @ 2024-07-17 548/week @ 2024-07-24 343/week @ 2024-07-31

1,943 每月下载量

MIT 许可证

140KB
2K SLoC

metrics-exporter-tcp

conduct-badge downloads-badge release-badge docs-badge license-badge

metrics-exporter-tcp 是一个将指标输出到客户端的TCP兼容的指标导出器。

行为准则

注意:本项目的所有对话和贡献都应遵守 行为准则


lib.rs:

一个将指标输出到客户端的TCP的 metrics 兼容导出器。

此导出器创建了一个TCP服务器,连接后,将使用Protocol Buffers编码将单个指标流式传输到客户端。

背压

导出器具有可配置的缓冲区,允许用户在任意给定时间想要排队的指标数量之间进行权衡。此缓冲区限制适用于传入的指标,以及每个连接客户端的单独缓冲区。

默认情况下,缓冲区限制设置为1024个指标。当传入的缓冲区(提供给导出的指标)满时,指标将被丢弃。如果客户端的缓冲区已满,可能由于网络条件缓慢或处理速度慢,则将按FIFO顺序丢弃客户端缓冲区中的消息,以便导出器继续向客户端分发指标。

如果没有设置缓冲区限制,则导出器将尽可能多地摄取和排队指标,可能直到内存耗尽。出于这个原因,建议设置缓冲区限制,即使它比默认值大得多。

编码

指标使用Protocol Buffers进行编码。协议文件可以在仓库中的 proto/event.proto 找到。

用法

TCP导出器可以通过创建一个TcpBuilder来构建,根据需要配置它,并调用TcpBuilder::install来同时启动TCP服务器以及全局安装导出器。

如果需要,可以返回记录器本身,以便可以单独组合,同时通过调用TcpBuilder::build来安装TCP服务器本身。

// Install the exporter directly:
let builder = TcpBuilder::new();
builder.install().expect("failed to install TCP exporter");

// Or install the TCP server and get the recorder:
let builder = TcpBuilder::new();
let recorder = builder.build().expect("failed to install TCP exporter");

依赖

~2–14MB
~117K SLoC