metrics_server

CI Version Docs License

A hassle-free, single-responsibility, safe HTTP server used to easily expose metrics in an application.

This crate provides a thread safe, minimalstic HTTP server used to buffer metrics and serve them via a standard /metrics endpoint. It's aim is to remove the boilerplate needed to create such simple mechanisms. It is currently somewhat oppinionated and naive in order to maintain little complexity.

Usage

Include the lib in your Cargo.toml dependencies: toml [dependencies] metrics_server = "0.3"

In your application: ```rust use metrics_server::MetricsServer;

// Create a new server and start listening for requests in the background. let server = MetricsServer::new("localhost:8001");

// Publish you application metrics. let bytes = server.update(Vec::from([1, 2, 3, 4])); assert_eq!(bytes, 4); ```

For more comprehensive usage, see the included examples.