تلسکوپ ۵.۲۴: دیباگ لاراول از ترمینال
خلاصهٔ کاملتر
لاراول تلسکوپ ۵.۲۴.۰ که ۸ سپتامبر ۲۰۲۶ منتشر شد، دو دستور آرتیزان تازه داره: telescope:list و telescope:show. به نوشتهٔ لاراولنیوز، حرف اصلی این ریلیز همینه که برای دیدن چیزهایی که تلسکوپ ثبت کرده لازم نیست داشبورد وب رو باز کنی؛ همون تو ترمینال ریکوئست، exception، جاب یا کوئری رو پیدا میکنی و جزئیاتش رو میبینی.
telescope:list ورودیهای اخیر رو از استوریج تلسکوپ میخونه و بسته به نوعی که میدی، ستونهای مناسب رو نشون میده؛ مثلاً برای ریکوئست: UUID، متد، URI، وضعیت، مدت و زمان ثبت. اگه نوع رو ندی، یه لیست ترکیبی با خلاصهٔ کوتاه هر آیتم میده. فیلترها با tag، شناسهٔ batch یا family hash کار میکنن، هر صفحه پیشفرض ۲۰ آیتمه و آخر یه صفحهٔ پر یه کِرسر --before میده که صفحهٔ بعد رو بگیری؛ این کِرسر همون sequence ID آخرین آیتم صفحهٔ فعلیه:
php artisan telescope:list request --tag=Auth:42
php artisan telescope:list exception --limit=5
php artisan telescope:show latest:exceptiontelescope:show یه UUID میگیره و جزئیات اون آیتم رو با بقیهٔ batchش نشون میده (batch یعنی همهٔ کارهایی که یه ریکوئست یا جاب یا کامند تولید کرده: کوئری، کش، لاگ، رویداد، ویو). تو جدول batch برچسب SLOW روی کوئریهای کندتر از حد تنظیمشده میخوره و DUP روی کوئریهایی که الگوی SQL مشترک دارن، که سرنخ خوبی برای پیدا کردن مشکل N+1ه. بخش کش هم hit و miss و نرخ hit رو میگه. جای UUID میتونی latest یا latest:request بذاری، و با --type=query,cache یه batch شلوغ رو کوچیک کنی.
هر دو دستور --json هم دارن: telescope:list --json آرایهای از آیتمها میده و telescope:show --json یه آبجکت entry بههمراه آرایهٔ batch بهترتیب زمان. نویسنده میگه JSON رو وقتی بردار که برنامهٔ دیگهای خروجی رو مصرف میکنه یا مقدار دقیق و بریدهنشده میخوای؛ جدولها متن بلند مثل SQL و پیام خطا رو کوتاه میکنن و --full کاملش رو چاپ میکنه. برای کار تعاملی خود جدولها بهترن.
خود ریلیز یه skill دیباگ تلسکوپ برای Laravel Boost هم داره. ایجنتهای کدنویس که از این skill پیروی میکنن با همین دستورها ریکوئست کند، خطا، جاب شکستخورده، کوئری تکراری و miss کش رو بررسی میکنن، و باید آخرش به یه کوئری یا یه فایل و خط مشخص برسن، نه به یه نشونهٔ کلی.
تغییر دوم یه باگ داشبورده. تلسکوپ وقتی داشبورد بازه مرتب برای آیتمهای جدید poll میکنه، و قبلاً ریکوئستی که تو یه صفحه شروع شده بود میتونست بعد از عوض کردن تگ یا باز کردن آیتم برگرده و نتیجهٔ فعلی رو با دادهٔ صفحهٔ قبلی عوض کنه. حالا صفحههای index، preview، dump و monitoring از AbortController استفاده میکنن، ریکوئست در جریان رو با عوض شدن روت کنسل میکنن و تایمرهای poll رو قبل از شروع دوباره پاک میکنن. خطای سرور هم poll رو متوقف میکنه، ولی ریکوئست کنسلشده خطا نمیده.
نکات کلیدی:
- telescope:list و telescope:show تو نسخهٔ ۵.۲۴.۰، منتشرشده ۸ سپتامبر ۲۰۲۶
- فیلتر با --tag، --batch و --family؛ صفحهبندی ۲۰ آیتمی با کِرسر --before
- latest و latest:{type} برای آخرین آیتم، بدون کپی کردن UUID از یه دستور دیگه
- SLOW برای کوئری کندتر از حد تنظیمشده و DUP برای الگوی SQL تکراری، سرنخ N+1
- --json برای اسکریپت و ایجنت، --full برای مقدارهای بریدهنشده
- AbortController روی index، preview، dump و monitoring؛ PRهای ۱۷۶۳ و ۱۷۶۴ از pushpak1300




