Skip to main content

EventKind

Enum EventKind 

Source
pub enum EventKind {
Show 19 variants SubscriberPanicked, SubscriberOverflow, ShutdownRequested, AllStoppedWithinGrace, GraceExceeded, TaskStarting, TaskStopped, TaskFailed, TimeoutHit, BackoffScheduled, TaskAddRequested, TaskAdded, TaskRemoveRequested, TaskRemoved, ActorExhausted, ActorDead, ControllerRejected, ControllerSubmitted, ControllerSlotTransition,
}
Expand description

Classification of runtime events.

Variants§

§

SubscriberPanicked

Subscriber panicked during event processing.

Sets:

  • task: subscriber name
  • reason: panic info/message
  • at: wall-clock timestamp
  • seq: global sequence
§

SubscriberOverflow

Subscriber dropped an event (queue full or worker closed).

Sets:

  • task: subscriber name
  • reason: reason string (e.g., “full”, “closed”)
  • at: wall-clock timestamp
  • seq: global sequence
§

ShutdownRequested

Shutdown requested (OS signal observed).

Sets:

  • at: wall-clock timestamp
  • seq: global sequence
§

AllStoppedWithinGrace

All tasks stopped within configured grace period.

Sets:

  • at: wall-clock timestamp
  • seq: global sequence
§

GraceExceeded

Grace period exceeded; some tasks did not stop in time.

Sets:

  • at: wall-clock timestamp
  • seq: global sequence
§

TaskStarting

Task is starting an attempt.

Sets:

  • task: task name
  • attempt: attempt number (1-based, per actor)
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskStopped

Task has stopped (finished successfully or was cancelled gracefully).

Sets:

  • task: task name
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskFailed

Task failed with a (non-fatal) error for this attempt.

Sets:

  • task: task name
  • attempt: attempt number
  • reason: failure message
  • at: wall-clock timestamp
  • seq: global sequence
§

TimeoutHit

Task exceeded its configured timeout for this attempt.

Sets:

  • task: task name
  • attempt: attempt number
  • timeout_ms: configured attempt timeout (ms)
  • at: wall-clock timestamp
  • seq: global sequence
§

BackoffScheduled

Next attempt scheduled (after success or failure).

Sets:

  • task: task name
  • attempt: previous attempt number
  • delay_ms: delay before the next attempt (ms)
  • backoff_source: Success or Failure
  • reason: last failure message (only for failure-driven backoff)
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskAddRequested

Request to add a new task to the supervisor.

Sets:

  • task: logical task name
  • spec (private): task spec to spawn
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskAdded

Task was successfully added (actor spawned and registered).

Sets:

  • task: task name
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskRemoveRequested

Request to remove a task from the supervisor.

Sets:

  • task: task name
  • at: wall-clock timestamp
  • seq: global sequence
§

TaskRemoved

Task was removed from the supervisor (after join/cleanup).

Sets:

  • task: task name
  • at: wall-clock timestamp
  • seq: global sequence
§

ActorExhausted

Actor exhausted its restart policy and will not restart.

Emitted when:

  • RestartPolicy::Never → task completed (success or handled case)
  • RestartPolicy::OnFailure → task completed successfully

Sets:

  • task: task name
  • attempt: last attempt number
  • reason: optional message
  • at: wall-clock timestamp
  • seq: global sequence
§

ActorDead

Actor terminated permanently due to a fatal error.

Emitted when:

  • Task returned TaskError::Fatal
  • (Future) max retries exceeded

Sets:

  • task: task name
  • attempt: last attempt number
  • reason: fatal error message
  • at: wall-clock timestamp
  • seq: global sequence
§

ControllerRejected

Controller submission rejected (queue full, add failed, etc).

Sets:

  • task: slot name
  • reason: rejection reason (“queue_full”, “add_failed: …”, etc)
§

ControllerSubmitted

Task submitted successfully to controller slot.

Sets:

  • task: slot name
  • reason: “admission={admission} status={status} depth={N}”
§

ControllerSlotTransition

Slot transitioned state (Running → Terminating, etc).

Sets:

  • task: slot name
  • reason: “running→terminating” (Replace), “terminating→idle”, etc

Trait Implementations§

Source§

impl Clone for EventKind

Source§

fn clone(&self) -> EventKind

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EventKind

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for EventKind

Source§

fn eq(&self, other: &EventKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for EventKind

Source§

impl Eq for EventKind

Source§

impl StructuralPartialEq for EventKind

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> 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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V