Diagnostics

Флаги диагностики

Флаги диагностики позволяют включать целевые отладочные журналы без включения подробного журналирования везде. Флаги включаются явно и не имеют эффекта, если подсистема их не проверяет.

Как это работает

  • Флаги — это строки (без учета регистра).
  • Вы можете включать флаги в конфигурации или через переопределение env.
  • Поддерживаются подстановочные знаки:
    • telegram.* соответствует telegram.http
    • * включает все флаги

Включение через конфигурацию

json
{  "diagnostics": {    "flags": ["telegram.http"]  }}

Несколько флагов:

json
{  "diagnostics": {    "flags": ["telegram.http", "brave.http", "gateway.*"]  }}

Перезапустите Gateway после изменения флагов.

Переопределение через env (одноразово)

bash
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

Отключить все флаги:

bash
OPENCLAW_DIAGNOSTICS=0

OPENCLAW_DIAGNOSTICS=0 — это переопределение отключения на уровне процесса: оно отключает флаги как из env, так и из конфигурации для этого процесса.

Флаги профилирования

Флаги профилировщика включают целевые интервалы измерения времени без повышения глобальных уровней журналирования. По умолчанию они отключены.

Включить все интервалы, ограниченные профилировщиком, для одного запуска Gateway:

bash
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway run

Включить только интервалы профилировщика для диспетчеризации ответов:

bash
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway run

Включить только интервалы профилировщика запуска app-server Codex, инструментов и потоков:

bash
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway run

Включить флаги профилировщика из конфигурации:

json
{  "diagnostics": {    "flags": ["reply.profiler", "codex.profiler"]  }}

Перезапустите Gateway после изменения флагов конфигурации. Чтобы отключить флаг профилировщика, удалите его из diagnostics.flags и перезапустите. Чтобы временно отключить каждый флаг диагностики, даже если конфигурация включает флаги профилировщика, запустите процесс с:

bash
OPENCLAW_DIAGNOSTICS=0 openclaw gateway run

Артефакты временной шкалы

Флаг timeline записывает структурированные события времени запуска и выполнения для внешних QA harnesses:

bash
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway run

Вы также можете включить его в конфигурации:

json
{  "diagnostics": {    "flags": ["timeline"]  }}

Путь к файлу временной шкалы по-прежнему берется из OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. Когда timeline включен только из конфигурации, самые ранние интервалы загрузки конфигурации не выводятся, потому что OpenClaw еще не прочитал конфигурацию; последующие интервалы запуска используют флаг конфигурации.

OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all и OPENCLAW_DIAGNOSTICS=* также включают временную шкалу, потому что они включают каждый флаг диагностики. Предпочитайте timeline, когда вам нужен только артефакт измерения времени в формате JSONL.

Записи временной шкалы используют оболочку openclaw.diagnostics.v1. События могут включать идентификаторы процессов, названия фаз, названия интервалов, длительности, идентификаторы Plugin, количество зависимостей, образцы задержки цикла событий, имена операций провайдеров, состояние выхода дочернего процесса и имена/сообщения ошибок запуска. Рассматривайте файлы временной шкалы как локальные диагностические артефакты; просматривайте их перед передачей за пределы вашего компьютера.

Куда попадают журналы

Флаги выводят журналы в стандартный файл диагностического журнала. По умолчанию:

Code
/tmp/openclaw/openclaw-YYYY-MM-DD.log

Если вы задали logging.file, используйте этот путь вместо него. Журналы имеют формат JSONL (один JSON-объект на строку). Редактирование чувствительных данных по-прежнему применяется на основе logging.redactSensitive.

Извлечение журналов

Выберите последний файл журнала:

bash
ls -t /tmp/openclaw/openclaw-*.log | head -n 1

Отфильтровать диагностику HTTP Telegram:

bash
rg "telegram http error" /tmp/openclaw/openclaw-*.log

Отфильтровать диагностику HTTP Brave Search:

bash
rg "brave http" /tmp/openclaw/openclaw-*.log

Или отслеживайте файл во время воспроизведения:

bash
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"

Для удаленных Gateway вы также можете использовать openclaw logs --follow (см. /cli/logs).

Примечания

  • Если logging.level установлен выше warn, эти журналы могут подавляться. Значение по умолчанию info подходит.
  • brave.http журналирует URL-адреса/параметры запросов Brave Search, статус/время ответа и события попадания/промаха/записи кэша. Он не журналирует ключи API или тела ответов, но поисковые запросы могут быть чувствительными.
  • Флаги безопасно оставлять включенными; они влияют только на объем журналов для конкретной подсистемы.
  • Используйте /logging, чтобы изменить назначения, уровни и редактирование чувствительных данных в журналах.

См. также

Was this useful?
On this page

On this page