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.2 | 2020年7月27日 |
#397 在 调试
1,943 每月下载量
140KB
2K SLoC
metrics-exporter-tcp
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