pub struct HttpStat {Show 27 fields
pub is_grpc: bool,
pub request_headers: HeaderMap<HeaderValue>,
pub dns_lookup: Option<Duration>,
pub quic_connect: Option<Duration>,
pub tcp_connect: Option<Duration>,
pub tls_handshake: Option<Duration>,
pub server_processing: Option<Duration>,
pub content_transfer: Option<Duration>,
pub total: Option<Duration>,
pub addr: Option<String>,
pub grpc_status: Option<String>,
pub status: Option<StatusCode>,
pub tls: Option<String>,
pub alpn: Option<String>,
pub subject: Option<String>,
pub issuer: Option<String>,
pub cert_not_before: Option<String>,
pub cert_not_after: Option<String>,
pub cert_cipher: Option<String>,
pub cert_domains: Option<Vec<String>>,
pub body: Option<Bytes>,
pub body_size: Option<usize>,
pub headers: Option<HeaderMap<HeaderValue>>,
pub error: Option<String>,
pub silent: bool,
pub verbose: bool,
pub pretty: bool,
}
Expand description
Statistics and information collected during an HTTP request.
This struct contains timing information for each phase of the request, connection details, TLS information, and response data.
§Fields
dns_lookup
- Time taken for DNS resolutionquic_connect
- Time taken to establish QUIC connection (for HTTP/3)tcp_connect
- Time taken to establish TCP connectiontls_handshake
- Time taken for TLS handshake (for HTTPS)server_processing
- Time taken for server to process the requestcontent_transfer
- Time taken to transfer the response bodytotal
- Total time taken for the entire requestaddr
- Resolved IP address and portstatus
- HTTP response status codetls
- TLS protocol version usedalpn
- Application-Layer Protocol Negotiation (ALPN) protocol selectedcert_not_before
- Certificate validity start timecert_not_after
- Certificate validity end timecert_cipher
- TLS cipher suite usedcert_domains
- List of domains in the certificate’s Subject Alternative Namesbody
- Response body contentheaders
- Response headerserror
- Any error that occurred during the request
Fields§
§is_grpc: bool
§request_headers: HeaderMap<HeaderValue>
§dns_lookup: Option<Duration>
§quic_connect: Option<Duration>
§tcp_connect: Option<Duration>
§tls_handshake: Option<Duration>
§server_processing: Option<Duration>
§content_transfer: Option<Duration>
§total: Option<Duration>
§addr: Option<String>
§grpc_status: Option<String>
§status: Option<StatusCode>
§tls: Option<String>
§alpn: Option<String>
§subject: Option<String>
§issuer: Option<String>
§cert_not_before: Option<String>
§cert_not_after: Option<String>
§cert_cipher: Option<String>
§cert_domains: Option<Vec<String>>
§body: Option<Bytes>
§body_size: Option<usize>
§headers: Option<HeaderMap<HeaderValue>>
§error: Option<String>
§silent: bool
§verbose: bool
§pretty: bool
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for HttpStat
impl RefUnwindSafe for HttpStat
impl Send for HttpStat
impl Sync for HttpStat
impl Unpin for HttpStat
impl UnwindSafe for HttpStat
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request