/rust-prometheus-tokio

Expose tokio runtime metrics to prometheus

Primary LanguageRustApache License 2.0Apache-2.0

Prometheus + Tokio

This project exposes a Tokio collector that is compatible with the prometheus crate that adds tokio runtime related metrics.

The project relies on a tokio_unstable feature, so you need to add the flags accordingly, e.g. by adding a .cargo/config.toml file to your project with the correct RUSTFLAGS, as is done here.

You can quickly test to look at the metrics that exist by using the example app:

cargo run --example complete-setup
# In another terminal
curl 127.0.0.1/metrics

Forced feature

Due to feature unification, note that bringing this crate in your project will force the rt feature of tokio in your project. This should not be an issue, given that runtime metrics hopefully make little sense if there is no runtime to measure.

Features

The crate has a single feature:

  • io_driver enables the tokio/net feature, and adds an extra metric that reports the number of ready events processed by the runtime’s I/O driver.

Acknowledgement

The project was kickstarted by Fiberplane during a "Hack day".