Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions content/docs/protocol/kernel/lifecycle.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -741,9 +741,15 @@ this shape over HTTP — it is an in-process model, not a wire body.
`checks` is an **array**, and a check's `status` is `"passed" | "failed" |
"warning"` — the six-value `"healthy" | "degraded" | "unhealthy" | "failed" |
"recovering" | "unknown"` vocabulary belongs to the report's own top-level
`status`, never to an entry inside `checks`. Each entry is named after the
plugin's configured `checkMethod`, or `"plugin-loaded"` when a plugin configures
none. `metrics.uptime` is in **milliseconds** (`Date.now() - startTime`), unlike
`status`, never to an entry inside `checks`. An entry's `name` is one of three:

| Entry `name` | Pushed when |
| :--- | :--- |
| the plugin's configured `checkMethod` | the custom check ran and returned — `"passed"`, or `"failed"` for the two failing shapes above |
| `"plugin-loaded"` | no `checkMethod` is configured, **or** the configured name does not resolve to a function on the plugin |
| `"health-check"` | the check **threw** — a `timeout` overrun included, since the race surfaces it as a rejection. A fixed name, neither the method's nor the default's, and always `status: "failed"` |

`metrics.uptime` is in **milliseconds** (`Date.now() - startTime`), unlike
the seconds-valued `uptime` of `GET /health` above, and the report carries no
`version` field — it identifies its plugin by the key it is stored under. The
optional `message` is set only when a check fails; the schema's remaining
Expand Down
Loading