Best-effort local hang evidence, independent of Python worker retirement.
Gateway watchdogs capture platform and virtual thread stacks before cancellation/cleanup. An authenticated local client can additionally ask a previously observed JVM for platform AND virtual stacks through jcmd when HTTP stops responding. Neither path stops/restarts the gateway. A frozen VM may also refuse attach; that failure is evidence, not proof of a particular cause. No HTTP bodies, credentials, prompts, tool arguments or process command-line arguments are saved.
Best-effort local hang evidence, independent of Python worker retirement. Gateway watchdogs capture platform and virtual thread stacks before cancellation/cleanup. An authenticated local client can additionally ask a previously observed JVM for platform AND virtual stacks through jcmd when HTTP stops responding. Neither path stops/restarts the gateway. A frozen VM may also refuse attach; that failure is evidence, not proof of a particular cause. No HTTP bodies, credentials, prompts, tool arguments or process command-line arguments are saved.
(capture! context)Save private, bounded thread stacks before a gateway watchdog tears down a stalled turn. Adds at most CAPTURE_MS of waiting; failures never prevent recovery. Reports are UTF-8 JSON with snake_case field names under ~/.vis/logs/YYYY-MM-DD/gateway-hang-*/report.json (newest ten across all dates retained). On the JVM the report lists platform and virtual threads. Where the runtime has no JSON thread dump, it lists platform threads and the virtual workers of cancellation/worker-future.
Save private, bounded thread stacks before a gateway watchdog tears down a stalled turn. Adds at most CAPTURE_MS of waiting; failures never prevent recovery. Reports are UTF-8 JSON with snake_case field names under ~/.vis/logs/YYYY-MM-DD/gateway-hang-*/report.json (newest ten across all dates retained). On the JVM the report lists platform and virtual threads. Where the runtime has no JSON thread dump, it lists platform threads and the virtual workers of cancellation/worker-future.
(observe-probe! entry healthy?)Observe the canonical client's authenticated health result. A failed probe may collect external JVM stacks ONLY for a previously successful local PID/start identity with a sibling jcmd. At most once per minute, one helper at a time. Returns immediately; remote/native/unknown processes are never attached/signalled. This needs a running local client, and attach can itself fail on a frozen JVM.
Observe the canonical client's authenticated health result. A failed probe may collect external JVM stacks ONLY for a previously successful local PID/start identity with a sibling jcmd. At most once per minute, one helper at a time. Returns immediately; remote/native/unknown processes are never attached/signalled. This needs a running local client, and attach can itself fail on a frozen JVM.
(session-reports session-id)Saved watchdog hang reports for one session, newest first. Each item has the turn id, reason, phase, idle time, thread coverage, record time and report path. Returns [] when nothing is saved or the logs cannot be read.
Saved watchdog hang reports for one session, newest first. Each item has the turn id, reason, phase, idle time, thread coverage, record time and report path. Returns [] when nothing is saved or the logs cannot be read.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |