Logo ProcessKit API Reference

SupervisionEventKind Type

Which supervision transition a `SupervisionEvent` reports — the discriminator to branch on when consuming `SupervisionSession.EventsAsync`. A plain .NET enum on purpose: this taxonomy is meant to *grow*, and a new kind must not break a consumer that was written against an earlier version. Existing kinds are never renumbered, renamed, or repurposed; new ones are appended with the next free value. Both languages already force the habit that makes that safe — F# requires a wildcard branch when matching an enum, and a C# `switch` expression needs a discard arm — so treat an unrecognized kind as "something newer happened" (the event's `Name` still identifies it) rather than as an error.

Record fields

Record Field Description

EventsDropped

Full Usage: EventsDropped

Field type: SupervisionEventKind
Modifiers: static

The consumer fell behind the bounded buffer and `DroppedEvents` older events were discarded to make room. Synthesized on the reading side immediately before the oldest event that survived, so a gap is always explicit — never a silent loss. See `SupervisionSession.DroppedEventCount` for the lifetime total.

Field type: SupervisionEventKind

GaveUp

Full Usage: GaveUp

Field type: SupervisionEventKind
Modifiers: static

The `GiveUpWhen` classifier declared `Attempt`'s failure permanent, so supervision stops instead of restarting it.

Field type: SupervisionEventKind

HealthCheckFailed

Full Usage: HealthCheckFailed

Field type: SupervisionEventKind
Modifiers: static

A liveness/health probe ended the current incarnation: `Attempt` is that incarnation, and `IsTerminal` is `false` when the unhealthy streak tripped (the ordinary restart path decides what happens next) or `true` when the probe itself failed fatally and supervision will end. Reported once per decision, not once per failed attempt.

Field type: SupervisionEventKind

IncarnationFailed

Full Usage: IncarnationFailed

Field type: SupervisionEventKind
Modifiers: static

An incarnation ended without producing a `ProcessResult` at all — it never started, or its capture failed. `Attempt` and the coarse `FailureKind` say which incarnation and what class of failure; the failure's message and any captured output are deliberately not carried.

Field type: SupervisionEventKind

IncarnationFinished

Full Usage: IncarnationFinished

Field type: SupervisionEventKind
Modifiers: static

An incarnation produced a `ProcessResult`: `Attempt`, `Outcome`, `Duration`, and `IsSuccess` (the command's `OkCodes` verdict, not merely "exit 0").

Field type: SupervisionEventKind

IncarnationStarted

Full Usage: IncarnationStarted

Field type: SupervisionEventKind
Modifiers: static

An incarnation was launched: `Attempt` is its 1-based number, `Pid` the live child's process id (`None` for a capture-only runner, which exposes no live handle).

Field type: SupervisionEventKind

RestartScheduled

Full Usage: RestartScheduled

Field type: SupervisionEventKind
Modifiers: static

A restart was scheduled: `Restart` is its 1-based lifetime number, `Delay` the (jittered) backoff about to be slept out, and `Cause` distinguishes an ordinary exit restart from one a liveness probe forced. Reported before the delay, exactly like the `OnRestart` callback.

Field type: SupervisionEventKind

Stopped

Full Usage: Stopped

Field type: SupervisionEventKind
Modifiers: static

Supervision ended with a `SupervisionOutcome`; `Reason` is that outcome's `StopReason`. The last event of a successful supervision.

Field type: SupervisionEventKind

StormPaused

Full Usage: StormPaused

Field type: SupervisionEventKind
Modifiers: static

The failure-storm guard paused restarts: `StormPause` is its 1-based number and `Delay` the (jittered) pause about to be slept out. Reported before the pause, like `OnStormPause`.

Field type: SupervisionEventKind

SupervisionFailed

Full Usage: SupervisionFailed

Field type: SupervisionEventKind
Modifiers: static

Supervision ended with a terminal error instead of an outcome; `FailureKind` is that error's coarse class. The last event of a failed supervision.

Field type: SupervisionEventKind

Type something to start searching.