pub struct RequestMetrics { /* private fields */ }Expand description
Request metrics collector
Implementations§
Source§impl RequestMetrics
impl RequestMetrics
Sourcepub fn record_request(
&self,
route: &str,
method: &str,
status: u16,
duration: Duration,
)
pub fn record_request( &self, route: &str, method: &str, status: u16, duration: Duration, )
Record a completed request
Sourcepub fn inc_active_requests(&self)
pub fn inc_active_requests(&self)
Increment active request counter
Sourcepub fn dec_active_requests(&self)
pub fn dec_active_requests(&self)
Decrement active request counter
Sourcepub fn record_upstream_attempt(&self, upstream: &str, route: &str)
pub fn record_upstream_attempt(&self, upstream: &str, route: &str)
Record an upstream attempt
Sourcepub fn record_upstream_failure(&self, upstream: &str, route: &str, reason: &str)
pub fn record_upstream_failure(&self, upstream: &str, route: &str, reason: &str)
Record an upstream failure
Sourcepub fn set_circuit_breaker_state(
&self,
component: &str,
route: &str,
is_open: bool,
)
pub fn set_circuit_breaker_state( &self, component: &str, route: &str, is_open: bool, )
Update circuit breaker state
Sourcepub fn record_agent_latency(&self, agent: &str, event: &str, duration: Duration)
pub fn record_agent_latency(&self, agent: &str, event: &str, duration: Duration)
Record agent call latency
Sourcepub fn record_agent_timeout(&self, agent: &str, event: &str)
pub fn record_agent_timeout(&self, agent: &str, event: &str)
Record agent timeout
Sourcepub fn record_blocked_request(&self, reason: &str)
pub fn record_blocked_request(&self, reason: &str)
Record a blocked request
Sourcepub fn record_pii_detected(&self, route: &str, category: &str)
pub fn record_pii_detected(&self, route: &str, category: &str)
Record PII detection in inference response
Sourcepub fn record_request_body_size(&self, route: &str, size_bytes: usize)
pub fn record_request_body_size(&self, route: &str, size_bytes: usize)
Record request body size
Sourcepub fn record_response_body_size(&self, route: &str, size_bytes: usize)
pub fn record_response_body_size(&self, route: &str, size_bytes: usize)
Record response body size
Sourcepub fn record_tls_handshake(&self, version: &str, duration: Duration)
pub fn record_tls_handshake(&self, version: &str, duration: Duration)
Record TLS handshake duration
Sourcepub fn update_connection_pool(&self, upstream: &str, size: i64, idle: i64)
pub fn update_connection_pool(&self, upstream: &str, size: i64, idle: i64)
Update connection pool metrics
Sourcepub fn record_connection_acquired(&self, upstream: &str)
pub fn record_connection_acquired(&self, upstream: &str)
Record connection acquisition from pool
Sourcepub fn update_system_metrics(&self)
pub fn update_system_metrics(&self)
Update system metrics
Sourcepub fn set_open_connections(&self, count: i64)
pub fn set_open_connections(&self, count: i64)
Set open connections count
Sourcepub fn record_websocket_frame(
&self,
route: &str,
direction: &str,
opcode: &str,
decision: &str,
)
pub fn record_websocket_frame( &self, route: &str, direction: &str, opcode: &str, decision: &str, )
Record a WebSocket frame being processed
§Arguments
route- The route IDdirection- Frame direction: “c2s” (client to server) or “s2c” (server to client)opcode- Frame opcode: “text”, “binary”, “ping”, “pong”, “close”, “continuation”decision- Inspection decision: “allow”, “drop”, or “close”
Sourcepub fn record_websocket_connection(&self, route: &str)
pub fn record_websocket_connection(&self, route: &str)
Record a WebSocket connection with inspection enabled
Sourcepub fn record_websocket_inspection_duration(
&self,
route: &str,
duration: Duration,
)
pub fn record_websocket_inspection_duration( &self, route: &str, duration: Duration, )
Record WebSocket frame inspection duration
Sourcepub fn record_websocket_frame_size(
&self,
route: &str,
direction: &str,
opcode: &str,
size_bytes: usize,
)
pub fn record_websocket_frame_size( &self, route: &str, direction: &str, opcode: &str, size_bytes: usize, )
Record WebSocket frame size
§Arguments
route- The route IDdirection- Frame direction: “c2s” or “s2c”opcode- Frame opcodesize_bytes- Frame payload size in bytes
Sourcepub fn record_decompression_success(&self, encoding: &str, ratio: f64)
pub fn record_decompression_success(&self, encoding: &str, ratio: f64)
Record a successful body decompression
§Arguments
encoding- Content-Encoding (gzip, deflate, br)ratio- Decompression ratio (decompressed_size / compressed_size)
Sourcepub fn record_decompression_failure(&self, encoding: &str, reason: &str)
pub fn record_decompression_failure(&self, encoding: &str, reason: &str)
Record a failed body decompression
§Arguments
encoding- Content-Encoding (gzip, deflate, br)reason- Failure reason (ratio_exceeded, size_exceeded, invalid_data, unsupported)
Sourcepub fn record_shadow_success(
&self,
route: &str,
upstream: &str,
duration: Duration,
)
pub fn record_shadow_success( &self, route: &str, upstream: &str, duration: Duration, )
Record a successful shadow request
§Arguments
route- Route IDupstream- Shadow upstream IDduration- Shadow request duration