Activity records every request, artisan command and queued job of a Laravel site as a trace: the events it fired (nested and timed), their data, which listeners ran and what they returned, its database queries and any error.
Recording a site
- Open Activity and pick the site
Any Laravel site LaraMonster serves.
- Turn on recording
LaraMonster loads its small PHP agent for that site only (with
auto_prepend_file). It listens to Laravel's own events and never changes what your app does. - Use the app
Each request, command and job appears in the list as it finishes, with its time and the number of events it fired.
Turn recording off when you're done: the agent is removed and the site runs exactly as before.
Reading a trace
Click a trace to see its timeline:
- Events, nested
An event fired by a listener of another event sits inside it, so you see what caused what.
- Timing
When each event started and how long its listeners took.
- Payloads
The data each event carried, models included.
- Listeners
Which ran, in order, and what each returned.
- Queries
Every query run along the way, with its time.
- Errors
Where they happened in the timeline.
Framework events (like Illuminate\Auth\Events\Login) are counted separately from your own, so app events stand out. Open in Events jumps to an event class to see its listeners or dispatch it again.
Example: why didn't the welcome email go out?
class SendWelcomeEmail implements ShouldQueue
{
public function handle(Registered $event): void
{
Mail::to($event->user)->send(new WelcomeMail($event->user));
}
}- Register a test user with recording on
The
POST /registertrace showsRegisteredfired, withSendWelcomeEmaillisted as queued. - No job trace follows?
Nothing ran the queue. Start a worker from Jobs & queues.
- Now a job trace appears
It shows the mail being sent, or the exception that stopped it. The email itself lands in the Mail inbox.
Exporting a trace as PDF
Click Export on a trace for a PDF of its timeline: handy for a bug report, a code review, or explaining a flow to a teammate.