Вселенная Тейлор пополнилась еще одним полезным инструментом - Laravel Pulse. Как мы знаем, эко-система достаточно живая, но не все новинки оказываются долгожителями (Lumen, ау?, где ты). Здесь же перспективы видятся достаточно серьезными.
Пакет предоставляет стандартные данные сервера - использование CPU, памяти, диска (может мониторить несколько серверов). Пространный мониторинг очередей - как ретроспективно, так и в режиме реального времени.
Live-данные о производительности, отслеживание медленных сегментов приложения (jobs, endpoints, sql запросы), мониторинг активных пользователей, "медленные" методы и маршруты, лог исключений и т.п.
Дашборд достаточно гибок, повозволяет поиграться настройками, создать свои собственные "карточки" призводительности - все это на хорошом знакомом Livewire с возможностью глубокой кастомизации. Надо, например, получить запросы, выполняющиеся более 1 сек -
<livewire:pulse.slow-outgoing-requests />
хотите получить представление об использовании кэша:
<livewire:pulse.cache />
Пакте также позволяет записывать (capture) информацию о работе вашего приложения. Предусмотрен даже специальный процесс на сервере, способствующий этому. Не сложно догадаться, что запускается он
php artisan pulse:check
Хотите, чтобы этот процесс автоматически перезапускался - решение известно - Sypervisor с соответствующими настройками конфига. При этом возможна тонкая настройка записываемых событий.
Тем не менее, нельзя не упомянуть о нескольких ложках дегтя. Один из главных недостатков - это ограничение по базе данных, только MySQL (!?). Совершенно не понятный выбор и ограничение для 2023 года! Конечно, не будем забывать, что мы имеем дело с бета-версией и судя по чатам разработчиков к релизу возможно будет поддержка и PostgreSQL.
Бета статус пакета, разумеется ведет и даунгрейду "minimum-stability" - теперь там придется прописать beta, что разработчикам "многопакетных" приложений может не понравиться.
Тем не менее, будем надеяться, что Laravel Pulse станит значимым дополнением к экосистеме Laravel.