Записуйте та відтворюйте запити за допомогою 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

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

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

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