Download the PHP package mohammed-mojaly/laralyze without Composer
On this page you can find all versions of the php package mohammed-mojaly/laralyze. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mohammed-mojaly/laralyze
More information about mohammed-mojaly/laralyze
Files in mohammed-mojaly/laralyze
Package laralyze
Short Description Self-hosted production monitoring and analysis for Laravel.
License MIT
Homepage https://github.com/Mohammed-Mojaly/laralyze
Informations about the package laralyze
Laralyze
Laralyze records what your Laravel app does in production and shows it on a dashboard inside the app: requests, jobs, commands, queries, exceptions, cache, outgoing HTTP, AI calls, mail, notifications, logs, users, servers and visits, and the timeline of single requests and jobs. The data stays in your app's database, or in ClickHouse if you choose. It adds about 0.03–0.08 ms to a simple request and about 2 ms to one with 1,000 queries (measured with PHP 8.4 and SQLite).
See it running in the live demo.
Laralyze is in
0.x: minor releases (0.1→0.2) may change things until1.0; patch releases don't. Read the changelog before you upgrade.
Requirements
- PHP 8.3+
- Laravel 12.69.2+ or 13.32+
- Livewire 3.8.3+ or 4.3.4+ (installed for you). Earlier releases have a known XSS issue.
- MySQL, MariaDB, PostgreSQL, SQLite or SQL Server, or ClickHouse 24.8+
For medium and large apps, we recommend ClickHouse: it keeps Laralyze's writes off your app's database, and the dashboard stays fast as data grows.
Installation
Then open /laralyze.
To upgrade, update the package and run php artisan migrate, as you do on each deploy. Laralyze's migrations run from the package, so there's nothing to copy into your app. If you'd rather keep them with your own (to run them on each tenant's database, for example), publish them with php artisan vendor:publish --tag=laralyze-migrations.
Restart your queue workers (php artisan queue:restart) so they load Laralyze, and make sure Laravel's scheduler runs. If something is off, the dashboard and php artisan about say what (details).
What you get
| Page | Shows |
|---|---|
| Dashboard | What needs attention, requests, exceptions, queues, slow requests and jobs |
| Requests | Requests by status, avg and p95/p99, every route |
| Jobs, Commands, Scheduled Tasks | Runs, failures, durations, wait times; last and next run of each task |
| Exceptions | Grouped by class and line, with stack trace, users affected and open, resolved or ignored status |
| Findings | Possible N+1 and duplicate queries, with the line in your code |
| Timelines | A single request, job, command or scheduled task with everything inside it, in order |
| Queries, Cache, Outgoing Requests | Time per query, slow queries; cache hits and misses; calls to other services |
| Database health | Connections, long-running queries, locks, errors by kind, size and growth, ids running out. See Database health |
| AI | Calls made with laravel/ai: tokens, estimated cost, duration and failures |
| Mail, Notifications | Sent and failed |
| Logs | Entries by level, searchable, with their context and the request or job that wrote them |
| Users, Visits, Servers | Signed-in users; visitors, pages, devices; CPU, memory and disk |
Each page shows the last 15 minutes to 30 days. Every recorder can be turned off, and its page goes with it.
Privacy
Laralyze stores counts and timings, not payloads. SQL keeps ? in place of values; bindings, request bodies and cache values aren't stored, and outgoing URLs lose their query string. Exceptions keep file, line and function names, never arguments; secrets in their context and in the code around each frame are masked. Visits don't store IP addresses or user agents.
Keep anything else out with known limits.
Authorization
Outside the local environment, nobody can open Laralyze until you allow it:
The gate is checked on the page and on every card update.
Gate::define('useLaralyzeAssistant', ...) decides who may use Ask AI; by default, the same people who may view the dashboard.
Documentation
- Configuration: every setting and recorder
- AI calls: tokens and estimated cost of
laravel/aicalls - Ask AI: a chat on every page that answers from what Laralyze recorded
- ClickHouse: keep Laralyze's data out of your app's database
- Alerts: mail, Slack or Discord
- Customization: pages, cards, your own metrics and recorders, filters, theme
- Running in production: overhead, the scheduler, several servers, Octane
- Known limits: what Laralyze doesn't see, and what is estimated
Contributing and security
See SECURITY.md.
Credits
Created and maintained by Mohammed Mojaly. Brand icons come from Simple Icons (CC0); the trademarks belong to their owners.
License
MIT. See LICENSE.md.
All versions of laralyze with dependencies
guzzlehttp/guzzle Version ^7.8|^8.0
illuminate/console Version ^12.69.2|^13.32
illuminate/contracts Version ^12.69.2|^13.32
illuminate/support Version ^12.69.2|^13.32
livewire/livewire Version ^3.8.3|^4.3.4