diagnostics
El dominio diagnostics tiene 12 acciones. En la superficie meta se alcanzan todas a través de arcane_diagnostics; en la individual, cada una es una herramienta propia; en la dinámica se ejecutan con arcane_execute_action y el ID canónico.
Resumen
Sección titulada «Resumen»| Acción | Título | Tipo |
|---|---|---|
diagnostics.actors | Get actor diagnostics for an environment | lectura |
diagnostics.actors_stream | Sample actor diagnostics of all environments | lectura |
diagnostics.goroutines | Get goroutine diagnostics for an environment | lectura |
diagnostics.pprof_cmdline | Get the server command line | lectura |
diagnostics.pprof_cpu_profile | Capture a CPU profile | lectura |
diagnostics.pprof_index | List pprof profiles | lectura |
diagnostics.pprof_profile | Get a runtime profile | lectura |
diagnostics.pprof_symbol | Resolve program counters to symbols | lectura |
diagnostics.pprof_trace | Capture an execution trace | lectura |
diagnostics.run_command | Run a diagnostics command | lectura |
diagnostics.server_logs | Get Arcane server logs | lectura |
diagnostics.snapshot | Get server diagnostics | lectura |
Acciones
Sección titulada «Acciones»diagnostics.actors
Sección titulada «diagnostics.actors»Get actor diagnostics for an environment
Returns Francis actor host, actor type, and run queue diagnostics for one environment.
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "actors" - Herramienta individual:
arcane_diagnostics_actors - Ruta de Arcane:
GET /api/environments/{id}/diagnostics/actors - ID de operación:
get-environment-actor-diagnostics - Desde: Arcane v2.15.0
- Uso: environmentId comes from environment.list. A remote environment is answered by its agent. The result has ready (false with empty data while the actor runtime starts), hosts, actorTypes (active actors, pending jobs and alarms, dead and completed job counts, up to 10 recent instances and failures with lastError) and runs counted by status. Use diagnostics.actors_stream to see every environment at once. Investigate failed runs with job.list_runs.
- Acciones relacionadas:
environment.list,diagnostics.actors_stream,job.list_runs,job.list
diagnostics.actors_stream
Sección titulada «diagnostics.actors_stream»Sample actor diagnostics of all environments
Sample the live actor (background worker) diagnostics of every environment, as pushed by Arcane’s actors diagnostics stream
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "actors_stream" - Herramienta individual:
arcane_diagnostics_actors_stream - Ruta de Arcane:
GET /api/diagnostics/actors/stream(WebSocket) - ID de operación:
ws-diagnostics-actors-stream - Desde: Arcane v2.15.0
- Uso: Each sample is a list with one entry per environment (local first, then every active remote one), each with environmentId, environmentName, ready, hosts, actorTypes, runs by status and an error string when that environment could not be reached. Arcane pushes on connect and then every 10 seconds, so keep samples=1 unless you want to watch changes. Use diagnostics.actors for a single environment. Needs the diagnostics read permission.
- Acciones relacionadas:
diagnostics.actors,environment.list,job.list_runs
diagnostics.goroutines
Sección titulada «diagnostics.goroutines»Get goroutine diagnostics for an environment
Returns the live goroutines grouped by identical stack, largest group first.
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "goroutines" - Herramienta individual:
arcane_diagnostics_goroutines - Ruta de Arcane:
GET /api/environments/{id}/diagnostics/goroutines - ID de operación:
get-environment-goroutine-diagnostics - Desde: Arcane v2.16.0
- Uso: environmentId comes from environment.list. A remote environment reports its agent’s goroutines. Returns total, capturedAt and groups of goroutines sharing an identical stack (count, label naming the entry function, frames with function, file and line), largest first: a quick way to spot pile-ups without administrator rights. For raw pprof output use diagnostics.pprof_profile with name goroutine (global administrators only).
- Acciones relacionadas:
diagnostics.snapshot,diagnostics.run_command,diagnostics.pprof_profile,environment.list
diagnostics.pprof_cmdline
Sección titulada «diagnostics.pprof_cmdline»Get the server command line
Return the Arcane server process’s command line (pprof cmdline, global administrators only)
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "pprof_cmdline" - Herramienta individual:
arcane_diagnostics_pprof_cmdline - Ruta de Arcane:
GET /api/debug/pprof/cmdline - ID de operación:
pprof-cmdline - Uso: Returns the process arguments as text in content, separated by NUL bytes. Use diagnostics.snapshot for the Go version, OS and uptime instead.
- Acciones relacionadas:
diagnostics.pprof_index,diagnostics.snapshot
diagnostics.pprof_cpu_profile
Sección titulada «diagnostics.pprof_cpu_profile»Capture a CPU profile
Capture a CPU profile of the Arcane server for a number of seconds and return it as a base64 pprof protobuf (global administrators only)
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "pprof_cpu_profile" - Herramienta individual:
arcane_diagnostics_pprof_cpu_profile - Ruta de Arcane:
GET /api/debug/pprof/profile - ID de operación:
pprof-profile - Uso: Blocks for the whole capture (default 30 s) and returns a gzipped pprof file for
go tool pprof. Keep seconds below arcane-mcp’s request timeout (60 s unless ARCANE_MCP_TIMEOUT changes it). Only one CPU profile can run at a time on the server. - Acciones relacionadas:
diagnostics.pprof_symbol,diagnostics.pprof_trace,diagnostics.pprof_profile,diagnostics.snapshot
diagnostics.pprof_index
Sección titulada «diagnostics.pprof_index»List pprof profiles
Return the Go pprof index of the Arcane server: the available runtime profiles and their counts (global administrators only)
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "pprof_index" - Herramienta individual:
arcane_diagnostics_pprof_index - Ruta de Arcane:
GET /api/debug/pprof/ - ID de operación:
pprof-index - Uso: Returns the pprof index as an HTML page in content, listing each profile name with its count. Use it to see which profile names exist before calling diagnostics.pprof_profile. All pprof actions require a global administrator.
- Acciones relacionadas:
diagnostics.pprof_profile,diagnostics.pprof_cpu_profile,diagnostics.pprof_trace,diagnostics.goroutines
diagnostics.pprof_profile
Sección titulada «diagnostics.pprof_profile»Get a runtime profile
Return a named Go runtime profile of the Arcane server (goroutine, heap, allocs, block, mutex, threadcreate), as text or as a base64 pprof protobuf (global administrators only)
- Tipo: lectura
- Parámetros obligatorios:
name - Meta-herramienta:
arcane_diagnosticscon"action": "pprof_profile" - Herramienta individual:
arcane_diagnostics_pprof_profile - Ruta de Arcane:
GET /api/debug/pprof/{name} - ID de operación:
pprof-named - Uso: Profile names come from diagnostics.pprof_index. debug=1 returns readable text in content (debug=2 gives full goroutine stacks). debug 0 returns a gzipped pprof file. seconds returns the difference over that interval (supported for every one of these profiles) and cannot be combined with debug, which Go rejects with ‘seconds and debug params are incompatible’. For a grouped goroutine summary use diagnostics.goroutines.
- Acciones relacionadas:
diagnostics.pprof_index,diagnostics.pprof_symbol,diagnostics.goroutines,diagnostics.pprof_cpu_profile
diagnostics.pprof_symbol
Sección titulada «diagnostics.pprof_symbol»Resolve program counters to symbols
Resolve program counter addresses of the Arcane server to function names (pprof symbol, global administrators only)
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "pprof_symbol" - Herramienta individual:
arcane_diagnostics_pprof_symbol - Ruta de Arcane:
GET /api/debug/pprof/symbol - Ruta de Arcane:
POST /api/debug/pprof/symbol - ID de operación:
pprof-symbol - Uso: Take the 0x addresses from a diagnostics.pprof_profile debug=1 dump. With addresses the content lists each address with its function name. Without them it returns only num_symbols.
- Acciones relacionadas:
diagnostics.pprof_profile,diagnostics.pprof_cpu_profile
diagnostics.pprof_trace
Sección titulada «diagnostics.pprof_trace»Capture an execution trace
Capture a Go execution trace of the Arcane server for a number of seconds and return it base64-encoded (global administrators only)
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "pprof_trace" - Herramienta individual:
arcane_diagnostics_pprof_trace - Ruta de Arcane:
GET /api/debug/pprof/trace - ID de operación:
pprof-trace - Uso: Blocks for the capture (default 1 s) and returns a binary trace for
go tool trace. Traces grow quickly, so keep seconds small. Use diagnostics.pprof_cpu_profile to find where CPU time goes instead of scheduling and latency detail. - Acciones relacionadas:
diagnostics.pprof_cpu_profile,diagnostics.pprof_profile,diagnostics.pprof_index
diagnostics.run_command
Sección titulada «diagnostics.run_command»Run a diagnostics command
Run a diagnostics command on the Arcane server: a goroutine leak scan, a text dump of a runtime profile, or a timed profile capture
- Tipo: lectura
- Parámetros obligatorios:
command - Meta-herramienta:
arcane_diagnosticscon"action": "run_command" - Herramienta individual:
arcane_diagnostics_run_command - Ruta de Arcane:
GET /api/diagnostics/stream(WebSocket) - ID de operación:
ws-diagnostics-command - Uso: leakScan needs only the diagnostics read permission and returns leakReport (count, profile text, scannedAt). dump and profile fail with ‘profiles require a global administrator’ otherwise. dump returns the named profile as debug=2 text (full stacks for goroutine). profile returns it base64-encoded in data, and seconds only matters for name ‘profile’ (CPU profile) or ‘trace’, since Arcane snapshots every other profile immediately and rejects ‘cpu’ as unknown. For downloadable pprof files prefer diagnostics.pprof_profile, diagnostics.pprof_cpu_profile or diagnostics.pprof_trace.
- Acciones relacionadas:
diagnostics.snapshot,diagnostics.goroutines,diagnostics.pprof_profile,diagnostics.pprof_cpu_profile
diagnostics.server_logs
Sección titulada «diagnostics.server_logs»Get Arcane server logs
Return the Arcane server’s own recent log entries, optionally listening for new ones for a few seconds
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "server_logs" - Herramienta individual:
arcane_diagnostics_server_logs - Ruta de Arcane:
GET /api/diagnostics/logs/stream(WebSocket) - ID de operación:
ws-diagnostics-logs-stream - Uso: These are Arcane’s own backend logs, not a container’s (use container.logs for those). Arcane first replays its in-memory backlog of up to 1000 recent entries, then streams new ones until seconds elapse or maxLines entries arrive. The result has count, entries (time, level, message, attrs) and why collection stopped. The backlog is replayed oldest first, so when it holds more than maxLines (default 500) you get the oldest entries: raise maxLines above 1000 to reach the newest. Needs the diagnostics read permission.
- Acciones relacionadas:
diagnostics.snapshot,event.list,container.logs
diagnostics.snapshot
Sección titulada «diagnostics.snapshot»Get server diagnostics
Return a snapshot of the Arcane server’s runtime diagnostics: goroutines, memory, WebSocket connections and background workers
- Tipo: lectura
- Parámetros obligatorios: ninguno
- Meta-herramienta:
arcane_diagnosticscon"action": "snapshot" - Herramienta individual:
arcane_diagnostics_snapshot - Ruta de Arcane:
GET /api/diagnostics/stream(WebSocket) - ID de operación:
ws-diagnostics-stream - Uso: Server-wide (no environmentId). Needs the diagnostics read permission, not an administrator. Arcane pushes one snapshot on connect and then one every 2 seconds, so samples=1 returns at once. Each sample’s snapshot holds runtime (goroutines, leakedGoroutines, goVersion, uptimeSeconds), memory, gc and websocket connection metrics. Follow up with diagnostics.goroutines to see where goroutines sit or diagnostics.run_command leakScan to check for leaks.
- Acciones relacionadas:
diagnostics.goroutines,diagnostics.run_command,diagnostics.server_logs,system.stats