[][src]Struct reool::instrumentation::StateCounters

pub struct StateCounters { /* fields omitted */ }

Simply tracks the following values:

  • number of existing connections
  • number of idle connections
  • number of in flight connections
  • number of reservations
  • number of tasks waiting before the lock

This is mostly useful for testing purposes only.

Call the instrumentation method to create an Instrumentation that can be put into a pool.

The logged or printed output might not be accurate since there are multiple race conditions possible inside the StateCounters. This is desired behaviour to not block threads. So the values you see in the output might already have changed to something different when logged.

Methods

impl StateCounters[src]

pub fn new() -> Self[src]

Create a new StateCounter.

This method checks the environment:

  • If an env var "PRINT" is set, counter changes will be printed to stdout.
  • If an env var "LOG" or "RUST_LOG" is set counter changes will be logged at info level

pub fn with_logging() -> Self[src]

Log counter changes at info level

pub fn with_printing() -> Self[src]

Print counter changes to stdout

pub fn state(&self) -> PoolState[src]

pub fn connections(&self) -> usize[src]

pub fn idle(&self) -> usize[src]

pub fn in_flight(&self) -> usize[src]

pub fn reservations(&self) -> usize[src]

pub fn pools(&self) -> usize[src]

pub fn instrumentation(&self) -> StateCountersInstrumentation[src]

Create the Instrumentation to be put into the pool to instrument.

Trait Implementations

impl Clone for StateCounters[src]

impl Default for StateCounters[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,