Diagnostics

Прапорці діагностики

Прапорці діагностики дають змогу ввімкнути цільові журнали налагодження без увімкнення детального логування всюди. Прапорці вмикаються явно й не мають ефекту, якщо підсистема їх не перевіряє.

Як це працює

  • Прапорці є рядками (без урахування регістру).
  • Ви можете ввімкнути прапорці в конфігурації або через перевизначення змінною середовища.
  • Підтримуються шаблони:
    • telegram.* відповідає telegram.http
    • * вмикає всі прапорці

Увімкнення через конфігурацію

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

Кілька прапорців:

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

Перезапустіть Gateway після зміни прапорців.

Перевизначення через змінну середовища (одноразово)

bash
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

Вимкнути всі прапорці:

bash
OPENCLAW_DIAGNOSTICS=0

OPENCLAW_DIAGNOSTICS=0 — це перевизначення вимкнення на рівні процесу: воно вимикає прапорці як зі змінної середовища, так і з конфігурації для цього процесу.

Прапорці профілювання

Прапорці профайлера вмикають цільові інтервали вимірювання часу без підвищення глобальних рівнів логування. За замовчуванням вони вимкнені.

Увімкнути всі інтервали, керовані профайлером, для одного запуску Gateway:

bash
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway run

Увімкнути лише інтервали профайлера для dispatch відповідей:

bash
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway run

Увімкнути лише інтервали профайлера запуску сервера застосунку 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