pub struct RerouteStatsReport {
pub swaps_detected: u64,
pub swaps_filtered: u64,
pub swaps_rerouted: u64,
pub swaps_simulated: u64,
pub swaps_succeeded: u64,
pub requote_failures: u64,
pub metis_unavailable_blocks: u64,
pub quote_attempts_unavailable: u64,
}Expand description
High-level funnel for a reroute-order-flow session: how many detected swaps made it from re-quoting through simulation to a non-reverting execution. Per-swap economics and latency are session-internal and land in the analysis DB.
Fields§
§swaps_detected: u64Requotable swaps detected in the replayed range, across the admitted venues.
swaps_filtered: u64Detected swaps excluded before quoting — an unadmitted venue, an arbitrage cycle, a mint
pair the filter does not name. Without it the gap between swaps_detected and
swaps_rerouted reads as routing failures.
swaps_rerouted: u64Swaps re-quoted through metis and queued for simulation.
swaps_simulated: u64Swaps whose routed transaction was simulated.
swaps_succeeded: u64Simulated swaps whose routed transaction executed without reverting.
requote_failures: u64Detected swaps metis could not route; nothing was simulated for them.
Blocks replayed unchanged because the metis client was unavailable.
Quote attempts that could not be made because the metis client was unavailable, summed over every swap left queued by each such block. Each one is retried on the next block, so this counts retries forced rather than swaps lost.
Trait Implementations§
Source§impl Clone for RerouteStatsReport
impl Clone for RerouteStatsReport
Source§fn clone(&self) -> RerouteStatsReport
fn clone(&self) -> RerouteStatsReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RerouteStatsReport
impl Debug for RerouteStatsReport
Source§impl Default for RerouteStatsReport
impl Default for RerouteStatsReport
Source§fn default() -> RerouteStatsReport
fn default() -> RerouteStatsReport
Source§impl<'de> Deserialize<'de> for RerouteStatsReport
impl<'de> Deserialize<'de> for RerouteStatsReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RerouteStatsReport
Source§impl PartialEq for RerouteStatsReport
impl PartialEq for RerouteStatsReport
Source§impl Serialize for RerouteStatsReport
impl Serialize for RerouteStatsReport
impl StructuralPartialEq for RerouteStatsReport
Auto Trait Implementations§
impl Freeze for RerouteStatsReport
impl RefUnwindSafe for RerouteStatsReport
impl Send for RerouteStatsReport
impl Sync for RerouteStatsReport
impl Unpin for RerouteStatsReport
impl UnsafeUnpin for RerouteStatsReport
impl UnwindSafe for RerouteStatsReport
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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 more