Skip to content

What gets recorded ​

A capture is one request, queued job, artisan command or MCP call. Each capture has a timeline of timed spans and a number of sections with rows. Each section is filled by a lens.

Every row records when it happened and the origin - the file and line in your code that caused it.

Turn lenses on, off or change their options in config/monocle.php.

Lenses report two kinds of problems in the summary: errors for things that failed and warnings for things worth a look. Each lens's page says which it reports; a response with a 5xx status is an error too. Warnings point at your code. Slow or repeated work that comes from a package on its own - a slow query a library runs, a package's middleware - is not flagged. Possible N+1 queries, slow cache calls and slow processes are flagged wherever they come from.

At a glance ​

Core ​

Built on Laravel itself; nothing else to install.

LensSectionRecords
Requestrequestmethod, URL, input, headers, cookies, route, response and phases
Sessionsessionsession contents and what the request changed
Authauththe user, logins, failed attempts and lockouts
Validationvalidationevery validation, its rules and the rules that failed
Middlewaremiddlewareeach middleware before and after the controller
Databasequeriesevery query, transactions, N+1 and slow queries
Eloquentmodels, model_changesmodels loaded and every changed attribute
Cachecachehits, misses, writes and repeated reads
Redisredisevery Redis command
Viewsviewsevery view and component with its duration
Eventseventsyour events and their listeners
Queuejobsjobs dispatched, and each job as its own capture
Artisan commandscommand, commandsarguments, options and exit code; commands called during a capture
Schedulerscheduled_taskseach scheduled task and its outcome
HTTP clienthttpoutgoing calls made with the Http client
Mail and notificationsmailmail and notifications sent
Filesystemfilesystemoperations on the Storage disks you choose
Processesprocessesexternal commands run with the Process facade
Exceptionsexceptionsreported exceptions and where they came from
Loglogeverything written to the log
Authorizationauthorizationevery gate and policy check
Dumpsdumpsevery dump() and dd()

Packages ​

These record something only when the package is installed; otherwise they do nothing.

PackageLensSectionRecords
FilamentFilamentfilament, filament_context, livewireactions and how they ended, notifications, table filters, search and sort, the panel, page and resource
franbarbalopez/mirrorImpersonationauthwho is impersonating the user
InertiaInertiainertia, inertia_pagesthe page, every prop with its type and size, deferred props and partial reloads
lab404/laravel-impersonateImpersonationauthwho is impersonating the user
LighthouseGraphQLgraphqloperations with their query, variables, errors and time
LivewireLivewirelivewirecomponents, method calls, property changes and render time
PrismPrismprism, prism_toolstext, structured, stream, embeddings, image and audio calls with tokens, and tool calls with their time
rebing/graphql-laravelGraphQLgraphqloperations with their schema, query, variables, errors and time
stechstudio/filament-impersonateImpersonationauthwho is impersonating the user
Laravel
laravel/aiAIai, ai_toolsagents, steps, tool calls with their time, and tokens
Laravel Foliopart of Request, see Foliorequestthe page file a request matched
Laravel FortifyFortifyauthtwo-factor challenges, failed and passed codes
laravel/mcpMCP serversmcpcalls to your application's MCP servers
Laravel Octanepart of Request, see Octane-a capture per request in a worker
Laravel NovaImpersonationauthwho is impersonating the user
Laravel PennantFeature flagsfeaturesevery feature check and its value
Laravel SanctumSanctumauththe token a request used
Spatie
laravel-event-sourcingEvent sourcingevent_sourcing, aggregatesevents stored, the projectors and reactors that handled them, and aggregate roots retrieved and persisted
laravel-medialibraryMedia librarymediamedia added and conversions run
laravel-responsecacheResponse cacheresponse_cachecache hits and misses for whole responses