Skip to content
3 min read · 604 words

Interface: IsolationReport

Defined in: src/batteries/isolation/observability.ts:44

A single normalized isolation observability report. Every phase stamps phase/at/spawnCount plus its own extra fields (see the per-phase hook docs on IsolationObservabilityHooks for which extra fields a given phase populates).

Properties

PropertyTypeDescriptionDefined in
approxBytes?numberwire:out / wire:in — a cheap JSON.stringify(...).length-style size estimate; computed ONLY when a wire hook is registered (see emitIsolationReport).src/batteries/isolation/observability.ts:93
argPath?stringcodec:escalate — the argument path that needed to escalate past the 'raw' tier.src/batteries/isolation/observability.ts:95
atstringISO-8601 timestamp stamped when the report was emitted.src/batteries/isolation/observability.ts:48
bootMs?numberspawn:ready — time from connect() call to the ready envelope, in ms.src/batteries/isolation/observability.ts:54
code?number | nullcrash — process exit code, when known.src/batteries/isolation/observability.ts:62
deltaCount?numberstream:end / stream:cancel — total deltas observed before end/cancel.src/batteries/isolation/observability.ts:82
durationMs?numbercall:settle — wall-clock duration of the call, in ms.src/batteries/isolation/observability.ts:74
error?unknownspawn:error / crash — the underlying error/reason.src/batteries/isolation/observability.ts:56
errorMessage?stringcall:settle (when ok is false) — the rejection's message.src/batteries/isolation/observability.ts:78
escalateReason?stringcodec:escalate — why it escalated (e.g. 'function', 'error', 'custom-encodable').src/batteries/isolation/observability.ts:97
firstDeltaMs?numberstream:end — ms from stream:start to the first delta (undefined if none arrived).src/batteries/isolation/observability.ts:84
forced?booleandispose:donetrue when the grace period elapsed and transport.terminate() was forced.src/batteries/isolation/observability.ts:58
id?stringcall:start / call:settle — the correlation id.src/batteries/isolation/observability.ts:72
inFlight?numbercrash — number of calls that were in flight (and rejected) at the moment of the crash.src/batteries/isolation/observability.ts:66
kind?stringwire:out / wire:in — the envelope's discriminant ('call', 'result', 'stream:delta', …).src/batteries/isolation/observability.ts:88
method?stringcall:start / call:settle — the method name.src/batteries/isolation/observability.ts:70
ok?booleancall:settletrue when the call resolved; false when it rejected.src/batteries/isolation/observability.ts:76
payload?unknownWith debugPayloads: true on a call:*/wire:* report — the raw payload body.src/batteries/isolation/observability.ts:99
phaseIsolationReportPhaseThe phase this report describes.src/batteries/isolation/observability.ts:46
reason?stringcrash — the transport-reported crash reason.src/batteries/isolation/observability.ts:60
serviceName?stringThe service's name (from its spec), when available.src/batteries/isolation/observability.ts:50
signal?string | nullcrash — process exit signal, when known.src/batteries/isolation/observability.ts:64
spawnCountnumberHow many times this service's guest has been (re)spawned, including the current spawn.src/batteries/isolation/observability.ts:52
streamError?unknownstream:error — the stream's terminal error.src/batteries/isolation/observability.ts:86
streamName?stringstream:start / stream:end / stream:error / stream:cancel — the stream name.src/batteries/isolation/observability.ts:80
tier?stringwire:out / wire:in — which codec tier carried the payload ('raw' or 'nhtio'), when known.src/batteries/isolation/observability.ts:90
verdict?"respawn" | "giveUp"respawn:auto — the crash-policy verdict that was consulted.src/batteries/isolation/observability.ts:68