Repolode
halilcosdu

halilcosdu/laravel-slower

Пакет для Laravel, который собирает медленные запросы к базе данных, группирует повторы, предлагает с помощью LLM индексы и переписывание запросов и предоставляет встроенную панель мониторинга.

Звёзды
415
Форки
22
Открытые issues
1
Последний коммит
19 дней назад

Что это?

Laravel Slower подключается к обработчику запросов Laravel и записывает каждый запрос, время выполнения которого превышает настраиваемый порог в миллисекундах. Вместе с запросом сохраняются его bindings, подключение и маршрут, задача или команда artisan, которые его вызвали. Повторяющимся запросам присваиваются отпечатки и они объединяются в группы, чтобы самые частые медленные запросы отображались первыми.

При желании каждый записанный запрос можно отправить в LLM (OpenAI, Anthropic Claude, Google Gemini или собственную либо размещённую на своих серверах модель через Prism) вместе с параметризованным SQL, схемой таблиц, индексами и планом EXPLAIN только для чтения. Рекомендации по индексам и переписыванию запросов сохраняются и отображаются в формате Markdown. По умолчанию за пределы приложения передаётся только параметризованный SQL; для передачи исходного SQL и bindings требуется явное согласие, а сами данные можно пропустить через редактирующий фильтр.

В пакет входит автономная панель мониторинга по адресу /slower, доступная по умолчанию только в локальном окружении. Поддерживаются семплирование, лимиты на сбор для каждого выполнения, фоновые задачи анализа через очередь и события для оповещений. Пакет устанавливается через Composer и требует выполнения двух миграций.

Ключевые возможности

  • 01Собирает запросы, выполняющиеся дольше настраиваемого порога, с помощью обработчика DB::listen.
  • 02Группирует повторяющиеся запросы по отпечатку, учитывая количество выполнений и длительность.
  • 03Записывает маршрут, действие контроллера, задачу или команду, а также место в коде, откуда был вызван каждый запрос.
  • 04Передаёт параметризованный SQL и контекст схемы в OpenAI, Anthropic, Gemini или пользовательские драйверы для получения рекомендаций.
  • 05Предоставляет встроенную панель мониторинга с поиском, фильтрами и запуском AI-анализа одним нажатием.
  • 06Поддерживает семплирование, лимиты на запрос и фоновый анализ через очередь.

Сценарии использования

  • Поиск самых частых медленных запросов в приложении Laravel при оптимизации производительности.
  • Получение рекомендаций по индексам и переписыванию запросов без необходимости вручную запускать EXPLAIN для каждого запроса.
  • Оповещение команды о появлении нового типа медленных запросов в production.
  • Сбор медленных запросов при высокой нагрузке с помощью семплирования и лимитов.

Быстрый старт

  1. 1

    Установите пакет с помощью Composer

    composer require halilcosdu/laravel-slower
  2. 2

    Опубликуйте миграции

    php artisan vendor:publish --tag="slower-migrations"
  3. 3

    Запустите миграции, затем откройте /slower в локальной среде

    php artisan migrate

Что важно знать

  • Требуются PHP 8.3 или новее и Laravel 11, 12 или 13.
  • Для рекомендаций ИИ нужен API-ключ платного провайдера LLM; каждый анализ — платный вызов.
  • По умолчанию dashboard доступен только в локальной среде, пока вы не определите gate viewSlower.

В подборках

Темы

Частые вопросы

Что такое laravel-slower?
Пакет для Laravel, который собирает медленные запросы к базе данных, группирует повторы, предлагает с помощью LLM индексы и переписывание запросов и предоставляет встроенную панель мониторинга. Laravel Slower подключается к обработчику запросов Laravel и записывает каждый запрос, время выполнения которого превышает настраиваемый порог в миллисекундах. Вместе с запросом сохраняются его bindings, подключение и маршрут, задача или команда artisan, которые его вызвали. Повторяющимся запросам присваиваются отпечатки и они объединяются в группы, чтобы самые частые медленные запросы отображались первыми.
laravel-slower можно использовать бесплатно? Какая у него лицензия?
laravel-slower распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
laravel-slower всё ещё поддерживается?
Активно поддерживается. Последний коммит в laravel-slower — 19 окт. 2026 г..
Для чего можно использовать laravel-slower?
Поиск самых частых медленных запросов в приложении Laravel при оптимизации производительности. Получение рекомендаций по индексам и переписыванию запросов без необходимости вручную запускать EXPLAIN для каждого запроса. Оповещение команды о появлении нового типа медленных запросов в production. Сбор медленных запросов при высокой нагрузке с помощью семплирования и лимитов.
Как установить laravel-slower?
Установите пакет с помощью Composer: composer require halilcosdu/laravel-slower Опубликуйте миграции: php artisan vendor:publish --tag="slower-migrations" Запустите миграции, затем откройте /slower в локальной среде: php artisan migrate
Где скачать laravel-slower?
Исходный код и инструкции по установке — на GitHub: https://github.com/halilcosdu/laravel-slower

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты