pub struct ServerRequestMetrics {
pub request_id: String,
pub method: String,
pub path: String,
pub status_code: u16,
pub response_time_ms: u64,
pub request_size: u64,
pub response_size: u64,
pub user_agent: Option<String>,
pub client_ip: Option<String>,
pub user_id: Option<Uuid>,
pub api_key_id: Option<Uuid>,
}Expand description
Request metrics for monitoring
Fields§
§request_id: StringRequest ID
method: StringHTTP method
path: StringRequest path
status_code: u16Response status code
response_time_ms: u64Response time in milliseconds
request_size: u64Request size in bytes
response_size: u64Response size in bytes
user_agent: Option<String>User agent
client_ip: Option<String>Client IP address
user_id: Option<Uuid>User ID (if authenticated)
api_key_id: Option<Uuid>API key ID (if used)
Trait Implementations§
Source§impl Clone for ServerRequestMetrics
impl Clone for ServerRequestMetrics
Auto Trait Implementations§
impl Freeze for ServerRequestMetrics
impl RefUnwindSafe for ServerRequestMetrics
impl Send for ServerRequestMetrics
impl Sync for ServerRequestMetrics
impl Unpin for ServerRequestMetrics
impl UnsafeUnpin for ServerRequestMetrics
impl UnwindSafe for ServerRequestMetrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.