Pulse - панель моніторингу продуктивності й використання застосунку. Вона показує агреговану картину за період: що повільне, що найчастіше використовується, де помилки.
Що показує Pulse (картки):
| Картка | Що видно |
|---|---|
| Сервери | CPU, пам'ять, диск кожного сервера |
| Використання застосунку | користувачі, що роблять найбільше запитів чи запускають найбільше завдань |
| Винятки | найчастіші винятки й коли вони були востаннє |
| Черги | пропускна здатність: поставлено, оброблено, невдалі |
| Повільні запити, завдання, SQL, вихідні HTTP | що перевищує поріг (за замовчуванням 1000 мс) |
| Кеш | влучання й промахи за ключами |
Панель доступна за адресою /pulse, за замовчуванням лише в середовищі local. Для продакшену доступ відкривають через гейт viewPulse:
Gate::define('viewPulse', fn (User $user) => $user->isAdmin());
Чим відрізняється Telescope:
| Pulse | Telescope | |
|---|---|---|
| що записує | агреговані метрики | кожен запит, запит до БД, завдання, лист окремо |
| питання, на яке відповідає | «що загалом повільне й часто ламається?» | «що саме сталося в цьому запиті?» |
| де використовувати | продакшен | переважно розробка й staging |
| навантаження | помірне, з семплюванням | значне на продакшені |
Простіше кажучи: Pulse показує, де проблема (ендпойнт /reports повільний і викликається тисячу разів на годину), а Telescope - чому (у кожному запиті 300 SQL-запитів через N+1).
Чого Pulse не замінює:
- зовнішній моніторинг доступності - якщо застосунок лежить, Pulse разом з ним;
- трекер помилок (Sentry, Flare) з повними стеками й сповіщеннями;
- централізовані логи для розслідувань.
Для серверних метрик на кожному сервері має працювати команда pulse:check під Supervisor.