7个版本
0.2.0 | 2024年5月28日 |
---|---|
0.1.5 | 2022年9月4日 |
0.1.4 | 2022年3月31日 |
0.1.3 | 2021年11月19日 |
0.1.1 | 2021年2月15日 |
#117 in HTTP服务器
每月下载量:2,009
用于 2 crates
20KB
241 行
prometheus-hyper
辅助库,用于通过tokio和hyper导出Prometheus指标。它旨在帮助编写Prometheus导出器,无需设置和维护http(无https)Web服务器。如果程序还使用http服务器用于其他目的,此包可能不是最佳选择,应直接使用prometheus。
此crate与prometheus_exporter类似。如果您不在tokio
环境中,您可能选择后者。
使用此crate的情况:
- 您编写了一个想要导出指标的无阻塞应用程序
- 想直接与prometheus交互。
- 不希望关心托管
/metrics
端点的Web服务器
不使用此crate的情况:
- 您编写了一个REST API,在这种情况下,您可能只需使用您的REST框架实现
/metrics
端点。 - 您想避免使用
tokio
。 - 您正在编写一个库,在这种情况下,请使用纯prometheus,并让二进制应用程序决定使用哪个HTTP服务器。
此crate针对典型的指标抓取进行优化,例如,几个Prometheus实例(通常是1个)的抓取间隔(例如1秒)。它针对低内存占用进行优化,而不是能够每秒处理10万个指标请求。
使用方法
将其添加到您的Cargo.toml
[dependencies]
prometheus-hyper = "0.2"
此crate导出一个名为Server
的单个结构体和一个名为run
的单个函数:将注册表传递给服务器,并为其提供关闭future。服务器将在future完成时关闭。
tokio::spawn(Server::run(
Arc::clone(®istry),
SocketAddr::from(([0; 4], 8080)),
std::future::pending(),
));
这将启动导出器并将http服务器绑定到0.0.0.0:8080
。之后,您就可以像以前一样更新指标了。
依赖项
约6-15MB
约184K SLoC