pub struct ThroughputMetrics {
pub messages_received: u64,
pub messages_sent: u64,
pub bytes_received: u64,
pub bytes_sent: u64,
pub start_time: Instant,
}Expand description
Throughput metrics for measuring message flow
Fields§
§messages_received: u64Messages received
messages_sent: u64Messages sent
bytes_received: u64Bytes received
bytes_sent: u64Bytes sent
start_time: InstantStart time of measurement period
Implementations§
Source§impl ThroughputMetrics
impl ThroughputMetrics
Sourcepub fn record_received(&mut self, bytes: u64)
pub fn record_received(&mut self, bytes: u64)
Record a received message
Sourcepub fn record_sent(&mut self, bytes: u64)
pub fn record_sent(&mut self, bytes: u64)
Record a sent message
Sourcepub fn messages_per_second_received(&self) -> f64
pub fn messages_per_second_received(&self) -> f64
Calculate messages per second received
Sourcepub fn messages_per_second_sent(&self) -> f64
pub fn messages_per_second_sent(&self) -> f64
Calculate messages per second sent
Sourcepub fn bytes_per_second_received(&self) -> f64
pub fn bytes_per_second_received(&self) -> f64
Calculate bytes per second received
Sourcepub fn bytes_per_second_sent(&self) -> f64
pub fn bytes_per_second_sent(&self) -> f64
Calculate bytes per second sent
Trait Implementations§
Source§impl Clone for ThroughputMetrics
impl Clone for ThroughputMetrics
Source§fn clone(&self) -> ThroughputMetrics
fn clone(&self) -> ThroughputMetrics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ThroughputMetrics
impl Debug for ThroughputMetrics
Auto Trait Implementations§
impl Freeze for ThroughputMetrics
impl RefUnwindSafe for ThroughputMetrics
impl Send for ThroughputMetrics
impl Sync for ThroughputMetrics
impl Unpin for ThroughputMetrics
impl UnwindSafe for ThroughputMetrics
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].