Diagnostics
Indicadores de diagnóstico
Las marcas de diagnóstico activan registros adicionales para un subsistema sin aumentar
logging.level globalmente. Una marca no tiene efecto a menos que un subsistema la compruebe.
Cómo funciona
- Las marcas son cadenas que no distinguen entre mayúsculas y minúsculas, resueltas a partir de
diagnostics.flagsen la configuración más la sobrescritura de entornoOPENCLAW_DIAGNOSTICS, sin duplicados y convertidas a minúsculas. name.*coincide con el propionamey con todo lo que haya bajoname.(por ejemplo,telegram.*coincide contelegram.http).*oallactiva todas las marcas.- Reinicie el Gateway después de cambiar
diagnostics.flagsen la configuración; no se recarga en caliente.
Marcas conocidas
| Marca | Activa |
|---|---|
telegram.http |
Registro de errores HTTP de la API de bots de Telegram |
brave.http |
Registro de solicitudes, respuestas y caché de Brave Search |
profiler |
Perfilador de la etapa de respuesta y del servidor de aplicaciones de Codex (ambos) |
reply.profiler |
Solo el perfilador de la etapa de respuesta |
codex.profiler |
Solo el perfilador del servidor de aplicaciones de Codex |
health |
Detalles de depuración de sondas de estado, cuentas y vinculaciones del Gateway |
ingress.timing |
Tiempos de carga de sesiones, selección de modelos y catálogo de modelos |
plugin.load-profile |
Tiempos de carga síncrona de módulos de plugins |
timeline |
Artefacto de cronología JSONL estructurada (véase más adelante) |
Activación mediante configuración
{ "diagnostics": { "flags": ["telegram.http"] }}Varias marcas:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}Sobrescritura mediante variable de entorno (ocasional)
OPENCLAW_DIAGNOSTICS=telegram.http,brave.httpLos valores se separan por comas o espacios en blanco. Valores especiales:
| Valor | Efecto |
|---|---|
0, false, off, none |
Desactiva todas las marcas y también sobrescribe la configuración |
1, true, all, * |
Activa todas las marcas |
OPENCLAW_DIAGNOSTICS=0 desactiva las marcas tanto del entorno como de la configuración para ese
proceso, lo que resulta útil para silenciar temporalmente una marca del perfilador que se dejó activada en la configuración
sin editar el archivo.
Marcas del perfilador
Las marcas del perfilador controlan intervalos ligeros de medición de tiempo; no añaden sobrecarga cuando están desactivadas.
Active todos los intervalos controlados por el perfilador para una ejecución del Gateway:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runActive solo los intervalos del perfilador de despacho de respuestas:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runActive solo los intervalos del perfilador de inicio, herramientas e hilos del servidor de aplicaciones de Codex:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway runprofiler activa tanto el perfilador de respuestas como el perfilador de Codex; utilice los
nombres de marca con ámbito para activar solo uno.
También se puede establecer en la configuración:
{ "diagnostics": { "flags": ["reply.profiler", "codex.profiler"] }}Reinicie el Gateway después de cambiar las marcas de configuración. Para desactivar una marca del perfilador,
elimínela de diagnostics.flags y reinicie, o inicie el proceso con
OPENCLAW_DIAGNOSTICS=0 para sobrescribir todas las marcas de diagnóstico durante esa ejecución.
Artefactos de cronología
La marca timeline (alias: diagnostics.timeline) escribe los eventos estructurados de tiempo de inicio
y ejecución como JSONL para sistemas externos de control de calidad:
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway runTambién se puede activar en la configuración:
{ "diagnostics": { "flags": ["timeline"] }}La ruta de salida siempre procede de OPENCLAW_DIAGNOSTICS_TIMELINE_PATH, incluso
cuando la propia marca se establece en la configuración; no existe ninguna clave de configuración para la ruta.
Cuando timeline se activa solo desde la configuración, faltan los primeros intervalos de carga de la configuración
porque OpenClaw aún no la ha leído; los intervalos de inicio posteriores
se capturan con normalidad.
OPENCLAW_DIAGNOSTICS=1, =all y =* también activan la cronología, ya que
activan todas las marcas. Utilice preferentemente la marca con ámbito timeline cuando solo se necesite el
artefacto JSONL y no todas las demás marcas de diagnóstico.
Las muestras de retraso del bucle de eventos en la cronología requieren una activación adicional además de
timeline: establezca OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 (o on/true/yes) además
de activar la cronología.
Los registros de cronología utilizan el contenedor openclaw.diagnostics.v1 y pueden incluir
identificadores de procesos, nombres de fases, nombres de intervalos, duraciones, identificadores de plugins, recuentos de
dependencias, muestras de retraso del bucle de eventos, nombres de operaciones del proveedor, estado de salida
de procesos secundarios y nombres o mensajes de errores de inicio. Trate los archivos de cronología como
artefactos de diagnóstico locales; revíselos antes de compartirlos fuera de su equipo.
Destino de los registros
Las marcas emiten registros en el archivo de registro de diagnóstico estándar. De forma predeterminada:
/tmp/openclaw/openclaw-YYYY-MM-DD.logLos perfiles con nombre utilizan /tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.log; por
ejemplo, --dev utiliza openclaw-dev-YYYY-MM-DD.log.
Si establece logging.file, utilice esa ruta en su lugar. Los registros están en formato JSONL (un objeto JSON
por línea). La ocultación sigue aplicándose según logging.redactSensitive.
Consulte Registro para conocer el modelo completo de resolución de rutas, rotación y
ocultación de registros.
Extracción de registros
Lea el archivo de registro más reciente del perfil activo:
openclaw logs --plain# Ejemplo de perfil con nombre:openclaw --profile work logs --plainFiltre los diagnósticos HTTP de Telegram:
openclaw logs --plain --limit 5000 | rg "telegram http error"Filtre los diagnósticos HTTP de Brave Search:
openclaw logs --plain --limit 5000 | rg "brave http"O siga los registros mientras reproduce el problema:
openclaw logs --follow --plain | rg "telegram http error"Para Gateways remotos, utilice openclaw logs --follow en su lugar (consulte
/cli/logs).
Notas
- Si
logging.levelse establece por encima dewarn, los registros controlados por marcas pueden suprimirse. El valor predeterminado deinfoes adecuado. brave.httpregistra las URL y los parámetros de consulta de las solicitudes de Brave Search, el estado y los tiempos de respuesta, así como los eventos de acierto, fallo y escritura de la caché. No registra la clave de la API (enviada como encabezado de solicitud) ni los cuerpos de las respuestas, pero las consultas de búsqueda pueden ser confidenciales.- Es seguro dejar las marcas activadas; solo afectan al volumen de registros del subsistema específico.
- Utilice /logging para cambiar los destinos, niveles y la ocultación de los registros.