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服务器

Download history • Rust 包仓库 417/week @ 2024-05-03 • Rust 包仓库 419/week @ 2024-05-10 • Rust 包仓库 563/week @ 2024-05-17 • Rust 包仓库 562/week @ 2024-05-24 • Rust 包仓库 648/week @ 2024-05-31 • Rust 包仓库 500/week @ 2024-06-07 • Rust 包仓库 525/week @ 2024-06-14 • Rust 包仓库 678/week @ 2024-06-21 • Rust 包仓库 572/week @ 2024-06-28 • Rust 包仓库 576/week @ 2024-07-05 • Rust 包仓库 1111/week @ 2024-07-12 • Rust 包仓库 657/week @ 2024-07-19 • Rust 包仓库 500/week @ 2024-07-26 • Rust 包仓库 625/week @ 2024-08-02 • Rust 包仓库 439/week @ 2024-08-09 • Rust 包仓库 334/week @ 2024-08-16 • Rust 包仓库

每月下载量:2,009
用于 2 crates

Apache-2.0 OR MIT

20KB
241

Crates.io docs.rs pipeline status coverage report license dependencies lines of code

prometheus-hyper

辅助库,用于通过tokiohyper导出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(&registry),
    SocketAddr::from(([0; 4], 8080)),
    std::future::pending(),
));

这将启动导出器并将http服务器绑定到0.0.0.0:8080。之后,您就可以像以前一样更新指标了。

请参阅文档示例,了解如何使用此crate的更多信息。

依赖项

约6-15MB
约184K SLoC