Skip to main content

Event

Enum Event 

Source
#[non_exhaustive]
pub enum Event {
Show 14 variants Started, RequestStarted { request: RequestInfo, }, Fetched { request: RequestInfo, status: Option<StatusCode>, latency: Duration, }, Handled { request: RequestInfo, outcome: OutcomeKind, error: Option<Failure>, elapsed: Duration, }, Retried { request: RequestInfo, after: Option<Duration>, }, Failed { request: RequestInfo, }, Skipped { request: RequestInfo, reason: SkipReason, }, Cancelled { request: RequestInfo, }, HostSlowed { host: String, slowdown: Slowdown, }, HostPaused { host: String, duration: Duration, }, RobotsFetched { origin: String, error: Option<Failure>, }, Stopping { reason: StopReason, }, Finished { stats: Stats, }, Lagged { missed: u64, },
}
Expand description

Something that happened in a crawl, as Crawler::events reports it.

Every request reports RequestStarted, then Fetched for each fetch its handlers made, then Handled once they returned. After that, it is Retried or Failed if it did not succeed. A request still running when the shutdown grace period ends is Cancelled instead of handled.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Started

The run started.

§

RequestStarted

A request started: its client is connecting.

Fields

§request: RequestInfo

The request.

§

Fetched

A request was fetched, when its handlers first asked for the response. A failed fetch is reported too, and fetched again if a handler asks again.

Fields

§request: RequestInfo

The request.

§status: Option<StatusCode>

The status the server answered with, also when the backend failed the fetch for it, e.g. a 404; None if no response came, e.g. the connection failed.

§latency: Duration

How long the fetch took.

§

Handled

A request’s handlers returned.

Fields

§request: RequestInfo

The request.

§outcome: OutcomeKind

What the handlers returned.

§error: Option<Failure>

Why the request failed, for OutcomeKind::Fail and OutcomeKind::Fatal.

§elapsed: Duration

How long the request took since it started, connecting and fetching included.

§

Retried

The frontier took a request back for another attempt.

Fields

§request: RequestInfo

The attempt that failed.

§after: Option<Duration>

How long the next attempt waits at least, if the request said.

§

Failed

A request failed for good: not retryable, out of retries, or refused a retry by the frontier.

Fields

§request: RequestInfo

The request.

§

Skipped

A request was not crawled on purpose.

Fields

§request: RequestInfo

The request.

§reason: SkipReason

Why it was skipped.

§

Cancelled

A request was still in flight when the shutdown grace period ended.

Fields

§request: RequestInfo

The request.

§

HostSlowed

A host was throttled, and the crawl slowed down on it.

Fields

§host: String

The host’s authority, in lowercase.

§slowdown: Slowdown

How the host was slowed down.

§

HostPaused

A host asked to be left alone, with Retry-After, and nothing starts on it for a while.

Fields

§host: String

The host’s authority, in lowercase.

§duration: Duration

How long the host is paused.

§

RobotsFetched

An origin’s robots.txt was fetched, or could not be.

Fields

§origin: String

The origin: its scheme, host and port.

§error: Option<Failure>

Why the fetch failed, if it did.

§

Stopping

The run is stopping: nothing new starts, and requests in flight finish.

Fields

§reason: StopReason

Why the run stops.

§

Finished

The run finished, with its totals.

Fields

§stats: Stats

The totals of the run.

§

Lagged

This subscriber fell behind and missed events, which were dropped for it; the crawl is never slowed down for a subscriber.

Fields

§missed: u64

How many events were missed.

Trait Implementations§

Source§

impl Clone for Event

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Event

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Event

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnsafeUnpin for Event

§

impl UnwindSafe for Event

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<W> WorkerExt for W

Source§

fn layer<C, M>(self, middleware: M) -> Layered<M, C>
where C: Send + 'static, Self: Worker<C>, M: Middleware<C>,

Wraps this worker in middleware, which runs before it, and before any middleware added earlier.