tower-trace-metrics 0.1.0

A tower-http TraceLayer that records metrics per request
Documentation
  • Coverage
  • 100%
    8 out of 8 items documented0 out of 3 items with examples
  • Size
  • Source code size: 20.0 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 147.6 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 19s Average build duration of successful builds.
  • all releases: 19s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • zaphar

tower-trace-metrics

A tower-http TraceLayer that records metrics using the metrics facade.

use tower_trace_metrics::make_layer;
use tower::ServiceBuilder;
use bytes;


fn main() {
    let service = ServiceBuilder::new()
        // Make a trace layer where the chunks are bytes::Bytes
        .layer(make_layer(|b: &bytes::Bytes| b.len() as u64));
    // ... Use this service in a Tower middleware stack.
}

Recorded Metrics

  • http_request_counter The total count of all requests
  • http_request_failure_counter The total count of all request failures
  • http_request_size_bytes_hist A histogram of request size in bytes
  • http_request_request_time_micros_hist A histogram of request time in microseconds

Each metric is faceted by path, method, and host for the request.