degenbot.runner.diag¶

Incident-diagnostic harnesses for the driver cockpit.

The three operator-runtime probes — the tracemalloc diff thread, the /proc/self RSS/purge CSV sampler, and the faulthandler repeat dumper — live here, configured through the typed loader (ArbitrageConfig.diag, populated by ArbitrageConfig.build()). The cockpit (start()) arms them at startup; any entrypoint that runs the cockpit (the settlement-arbitrage example, the degenbot console) gets the probes uniformly.

Module Contents¶

class degenbot.runner.diag.DiagConfig¶

The three probe toggles, carried from the declared diagnostics keys.

No field has a default: the core schema declaration owns them (zero is OFF, the production posture), so a second literal here could drift from what an operator set.

tracemalloc_secs: float¶
procmem_secs: float¶
procmem_csv: str¶
faulthandler_timeout_secs: float¶
degenbot.runner.diag.arm_diagnostics(cfg: DiagConfig) → list[str]¶

Arm every configured probe; return the armed probe names (stable order).

Zero-config arms nothing — production default. Called once per session from the cockpit’s start(); idempotent across runners (threads are daemon and probe-scoped).

Returns:

The armed probe names, in stable arm order.