# tower-trace-metrics A [tower-http](https://crates.io/crates/tower-http) `TraceLayer` that records metrics using the [metrics](https://crates.io/crates/metrics) facade. ```rust 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.