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

فعال‌سازی فقط بازه‌های پروفایلر راه‌اندازی/tool/thread سرور برنامه 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 بیرونی می‌نویسد:

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=* نیز خط زمانی را فعال می‌کنند، زیرا همه پرچم‌های عیب‌یابی را فعال می‌کنند. وقتی فقط مصنوع زمان‌بندی JSONL را می‌خواهید، timeline را ترجیح دهید.

رکوردهای خط زمانی از پوشش 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