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