Skip to main content

ApiMetricsBackend

Trait ApiMetricsBackend 

Source
pub trait ApiMetricsBackend:
    Send
    + Sync
    + Debug {
    // Provided methods
    fn record_request(
        &self,
        _transport: Transport,
        _method: &str,
        _path: &str,
        _status: u16,
        _duration_ms: u64,
    ) { ... }
    fn record_in_flight_delta(&self, _transport: Transport, _delta: i64) { ... }
}
Expand description

Metrics backend for the API layer.

§Labels

  • transport: http | grpc
  • method: HTTP method (GET, POST, …) for HTTP, RPC method name (SubmitTask, …) for gRPC
  • path: templated route (/api/v1/tasks/{id}) for HTTP via MatchedPath, full RPC path (/solti.v1.SoltiApi/SubmitTask) for gRPC
  • status: HTTP status code (200/404/500/…) for HTTP, gRPC code number for gRPC

Cardinality stays bounded because routes are a closed set per version and templated paths avoid per-resource-id explosion.

Provided Methods§

Source

fn record_request( &self, _transport: Transport, _method: &str, _path: &str, _status: u16, _duration_ms: u64, )

Record a completed request.

Source

fn record_in_flight_delta(&self, _transport: Transport, _delta: i64)

Adjust the in-flight gauge by delta (+1 on entry, -1 on exit).

Implementors§