Skip to main content

Collector

Struct Collector 

Source
pub struct Collector;
Expand description

Installs itself on the bus and routes events to whichever request is running.

Implementations§

Source§

impl Collector

Source

pub fn install()

Subscribe once, for the life of the process.

Every dispatched event reaches this, and it drops the ones arriving on a task with no bar — a background job, a queue worker, anything that is not a request being rendered.

Idempotent, and it has to be. Subscribing twice does not collect twice as carefully; it records every query twice, and the bar then reports a page making double the queries it makes. A plugin registered in two places, or a test suite calling this per test, would both do it.

Source

pub async fn collect<F, T>(work: F) -> (T, Collected)
where F: Future<Output = T>,

Run work with a collector installed, and return what it gathered.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.