#metrics #byte #request #tower-http #trace #records #layer

tower-trace-metrics

A tower-http TraceLayer that records metrics per request

1 unstable release

0.1.0 Feb 4, 2023

#12 in #tower-http

Apache-2.0

9KB
140 lines

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.

Dependencies

~5MB
~103K SLoC