Записуйте та відтворюйте запити за допомогою Laravel ChronoTrace

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Пакет Laravel ChronoTrace надає можливість записувати і відтворювати запити Laravel детерміновано, а також генерувати тести на основі продуктивних трас. Досліджуйте, як детермінований запис інформації про запити, бази даних, кеш та багато іншого може значно спростити ваш процес розробки!

# Laravel ChronoTrace

Пакет ChronoTrace для Laravel дозволяє детерміністично фіксувати та відтворювати запити до Laravel, а також генерувати тести з виробничих трас. Цей пакет допоможе вам відстежувати зовнішні HTTP-запити під час виконання, включаючи деталі запитів і відповідей, коди статусів, проблеми з підключенням та багато іншого. Він також відслідковує запити до бази даних, події кешу, черги робіт та користувацькі події.

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

=== ІНФОРМАЦІЯ ПРО ТРАСУ ===
🆔 ID Траси: a1b2c3d4-e5f6-7890-abcd-ef1234567890
🕒 Часова мітка: 2024-01-15 14:30:22
🌍 Середовище: local
🔗 URL запиту: http://localhost:8000/api/users
📊 Статус відповіді: 200
⏱️  Тривалість: 245ms
💾 Використання пам'яті: 18.45 KB
  
=== ЗАХОПЛЕНІ ПОДІЇ ===
📊 ПОДІЇ БАЗИ ДАНИХ
  🔍 [14:30:22.123] Запит: SELECT * FROM users WHERE active = ? (15ms на mysql)
  🔍 [14:30:22.145] Запит: SELECT * FROM roles WHERE user_id IN (?, ?, ?) (8ms на mysql)
  
🗄️  ПОДІЇ КЕШУ
  ❌ [14:30:22.120] Програш кешу: users:list (сховище: redis)
  💾 [14:30:22.150] Запис кешу: users:list (сховище: redis)
  
🌐 HTTP ПОДІЇ
  📤 [14:30:22.200] HTTP Запит: GET https://api.external.com/validation
  📥 [14:30:22.230] HTTP Відповідь: GET https://api.external.com/validation → 200
  
📈 РЕЗЮМЕ ПОДІЙ
  📊 Події бази даних: 2
  🗄️  Події кешу: 2
  🌐 HTTP події: 2
  ⚙️  Події робочих задач: 0
  📝 Всього подій: 6

Ще одна цікава функція — це можливість генерувати тест із конкретної зафіксованої траси. Частоту запису можна налаштувати: завжди, частковий рівень, тільки для помилок тощо. Коли у вас є траса, яку ви хочете перетворити на тест, ви можете запустити команду відтворення з прапором --generate-test:

php artisan chronotrace:replay a1b2c3d4 \
--generate-test \
--test-path=tests/Integration

# Основні можливості

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

Почати роботу з цим пакетом можна на GitHub: Grazulex/laravel-chronotrace.

Щоб встановити його у своєму додатку (Laravel v12.x+ та PHP 8.3+) з Composer, додайте його як залежність для розробки і виконайте команду встановлення:

composer require --dev grazulex/laravel-chronotrace
php artisan chronotrace:install

Популярні

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

Logomark Logotype

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

Logomark Logotype

Налаштування Xdebug з Docker та PHP 8.4 всього за одну хвилину

Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці