Laravel Telescope 5.24.0 привносить дві нові Artisan-команди - telescope:list та telescope:show - для читання записів безпосередньо з терміналу. Тепер розробники можуть знаходити запити, винятки, джоби чи SQL-запити та аналізувати їхні батчі без необхідності відкривати веб-дашборд. Реліз від 8 вересня 2026 року також запобігає заміні поточного екрану застарілими запитами з дашборду.
Перегляд записів із терміналу
Команда telescope:list читає останні записи зі сховища Telescope. Передайте тип запису, щоб отримати таблицю з відповідними колонками:
php artisan telescope:list request
Для запитів це означає UUID, HTTP-метод, URI, статус, тривалість та час створення. Telescope має окремі макети таблиць для запитів до бази даних, винятків, джобів, операцій із кешем, логів, пошти, команд та вихідних HTTP-запитів. Якщо не вказати тип, ви побачите змішаний список із коротким описом кожного запису.
Фільтри дозволяють звузити список за тегом, ID батчу або хешем родини:
php artisan telescope:list exception --limit=5
php artisan telescope:list request --tag=Auth:42
php artisan telescope:list --batch=79a09461
php artisan telescope:list --family=8e872e9a
Кожна сторінка містить 20 записів за замовчуванням. Повна сторінка завершується курсором --before для отримання наступного набору:
php artisan telescope:list request --before=24817
Курсор - це sequence ID останнього запису на поточній сторінці. Якщо передати невірний тип запису, Telescope виведе підтримувані значення.
Детальний огляд запису та його батчу
Скопіюйте UUID запису в команду telescope:show, щоб побачити його деталі та решту батчу:
php artisan telescope:show 9d90e4f0-1a15-4f6a-9cca-2e95d70d8d9f
Telescope призначає батч ID роботі, створеній запитом, джобом або командою. Батч запиту може містити SQL-запити, операції з кешем, логи, події, винятки та відрендерені view.
Запити, винятки та джоби мають спеціалізовані детальні вигляди. Виняток включає його клас, повідомлення, місцезнаходження, прилеглий вихідний код та stack trace. Невдалий джоб показує деталі черги та виняток. Інші типи використовують поля зі збереженого контенту.
У таблиці батчу мітка SLOW позначає запити, що перевищують налаштований поріг Telescope. Мітка DUP позначає запити, які мають однаковий SQL-патерн - корисна відправна точка при перевірці проблем N+1 запитів. Секція кешу показує влучання, промахи та відсоток влучань, коли батч містить звернення до кешу.
Для найсвіжішого запису можна замінити UUID на latest або latest:{type}:
php artisan telescope:show latest
php artisan telescope:show latest:request
php artisan telescope:show latest:exception
Агент-кодувальник може зробити запит, запустити telescope:show latest:request та прочитати його SQL-запити без копіювання ідентифікатора з окремої команди.
Використовуйте список типів через кому з опцією --type, щоб обрізати великий батч:
php artisan telescope:show latest:request --type=query,cache
Табличний вивід скорочує довгі SQL-вирази, повідомлення та payload. Додайте --full, щоб вивести їх повністю.
Формат JSON для скриптів та AI-агентів
Обидві команди підтримують опцію --json. Команда telescope:list --json повертає масив записів або порожній масив, якщо нічого не знайдено. Команда telescope:show --json повертає об'єкт entry та хронологічний масив batch. Фільтр --type застосовується до повернення батчу.
Наприклад, jq може витягнути місцезнаходження останнього винятку:
php artisan telescope:show latest:exception --json \
| jq '.entry.content | {class, message, file, line}'
Він також може вибрати недавні серверні помилки із записаних запитів:
php artisan telescope:list request --json --limit=50 \
| jq '.[] | select(.content.response_status >= 500) |
{id, uri: .content.uri, status: .content.response_status}'
Використовуйте JSON, коли результат споживатиме інша програма або коли потрібні точні, нескорочені значення. Використовуйте таблиці під час інтерактивної роботи.
Реліз включає навичку дебагу Telescope для Laravel Boost. AI-агенти, що її використовують, застосовують ці команди для дослідження повільних запитів, винятків, невдалих джобів, повторюваних запитів та промахів кешу. Вони мають завершувати роботу конкретним запитом або файлом і рядком, а не просто симптомом.
Контриб'ютор @pushpak1300 додав команди у pull request #1763.
Скасування застарілих запитів дашборду під час навігації
Telescope опитує нові записи, поки його дашборд відкритий. Раніше запит, розпочатий на одному екрані, міг завершитися після того, як ви вибрали тег, відкрили запис або повернулися назад. Його відповідь могла замінити поточні результати записами зі старого екрану або фільтру.
Індексний екран, екран перегляду, дампів та моніторингу тепер використовують AbortController. Telescope перериває їхні активні запити, коли компонент знищується або змінюється query маршруту, та очищує таймери опитування перед їхнім запуском для нового екрану.
Серверна помилка зупиняє опитування та відображає статус відповіді. Запити, скасовані під час навігації, не показують помилку.
Контриб'ютор @pushpak1300 реалізував цю зміну у pull request #1764.
Посилання