pub enum EffectExecution {
Plain,
RouteMetrics {
request_counter: Metric<u64, ()>,
latency: Metric<Duration, ()>,
},
ServiceMetrics {
latency: Metric<Duration, ()>,
errors: Metric<u64, ()>,
},
}Expand description
Execution mode for run_effect_from_state_with.
Using an enum makes illegal metric states unrepresentable: a plain run has no metrics, route metrics have request counter + latency, and service metrics have latency + errors.
Variants§
Plain
No metrics; equivalent to run_effect_from_state.
RouteMetrics
Axum route metrics: increment a request counter and record handler latency.
Fields
ServiceMetrics
Tower service metrics: record request latency and increment an error counter on failure.
Trait Implementations§
Source§impl Clone for EffectExecution
impl Clone for EffectExecution
Source§fn clone(&self) -> EffectExecution
fn clone(&self) -> EffectExecution
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 moreAuto Trait Implementations§
impl Freeze for EffectExecution
impl RefUnwindSafe for EffectExecution
impl Send for EffectExecution
impl Sync for EffectExecution
impl Unpin for EffectExecution
impl UnsafeUnpin for EffectExecution
impl UnwindSafe for EffectExecution
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