1 unstable release
new 0.1.0 | May 18, 2025 |
---|
#949 in Network programming
108 downloads per month
22KB
221 lines
reqwest-metrics
Metrics.rs integration for reqwest using reqwest-middleware
Features
- Adheres to Open Telemetry HTTP Client Semantic Conventions
- Customizable labels
Usage
let client = ClientBuilder::new(reqwest::Client::new())
.with(MetricsMiddleware::new())
.build();
Configuration
Overriding label names
let client = ClientBuilder::new(reqwest::Client::new())
.with(
MetricsMiddleware::builder()
.http_request_method_label("method")
.http_response_status_label("status")
.server_address_label("host")
.build(),
)
.build();
Supported labels:
http_request_method
server_address
server_port
error_type
http_response_status_code
network_protocol_name
network_protocol_version
url_scheme
Motivation
This crate is heavily inspired by the HTTP Client metrics provided by Spring. This crate aims to provide the same functionality while adhereing to Otel semantic conventions.
Dependencies
~5–17MB
~213K SLoC