Crate reqwest_metrics

Crate reqwest_metrics 

Source
Expand description

Metrics.rs integration for reqwest using reqwest-middleware

§Features

§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 metrics:

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.

Structs§

MetricsMiddleware
Middleware to handle emitting HTTP metrics for a reqwest client NOTE: Creating a [MetricMiddleware] will describe a histogram on construction.
MetricsMiddlewareBuilder
Builder for MetricsMiddleware