NightGuardian live demo
Every button below makes this app do one thing that NightGuardian should report — or deliberately should not report. Press it, then look at the demo panel.
Open the demo panel ↗ Sign in with the "Enter the demo" button.
Errors that should arrive
1. Unhandled exception
Throws an exception nobody catches. Laravel answers 500 and NightGuardian shows its own page with a reference code (NG-XXXX-XXXX) and a "what were you doing?" box.
Panel: an exception issue; after you send the comment, a feedback entry on it.
Throw an exception2. Handled error with context
Catches an exception and reports it with NightGuardian::report($e, [...]). The page keeps working.
Panel: an exception marked as handled, with order_id, gateway and attempt as context.
3. Log lines
Calls Log::error() and Log::warning().
Panel: the error as a log issue. The warning arrives only with NIGHTGUARDIAN_LOG_LEVEL=warning.
4. Error in a JSON request
Calls an endpoint asking for JSON. The body is Laravel's own JSON; NightGuardian only adds the X-NightGuardian-Reference header (an API client must never get an HTML page).
Panel: an exception issue. Below: the status and the header.
5. Slow request
Takes a few seconds to answer (threshold: 2 s).
Panel: a slow request event.
6. Slow query
Runs SELECT SLEEP(1.5) (threshold: 1 s).
Panel: a slow query event with the SQL.
7. Failing job
Queues a job that always fails (database queue). Then process the queue: press the second button, or run php artisan queue:work --once in a console.
Panel: a failed job with its queue and attempts.
8. Failing scheduled task
Arms the command demo:fail, which fails the next time the scheduler runs. Run php artisan schedule:work in a console, or press the second button.
Panel: a failed scheduled task.
9. Burst of identical errors
Reports the same error N times: one issue with N events. Try the alert threshold on your own installation with 50 or more.
Panel: one issue whose event count grows by N.
10. Mark a deploy
Runs php artisan nightguardian:deploy with a new release name. Issues can then be "resolved in release".
Panel: a new row in Deploys.
Errors that must not arrive
These are normal behaviour of an application, not bugs. NightGuardian ignores them on purpose: after pressing them, the panel must show nothing new.
404 Not Found
Opens a page that does not exist.
Open a missing pageValidation error
Sends an invalid form. Laravel redirects back with the errors.
419 Page Expired
Posts a form without its CSRF token.
SDK status
The output of php artisan nightguardian:status: whether the SDK is active, where it sends events and what is waiting in its disk spool.
NightGuardian SDK 2.0.2 Status active Collector https://demo.nightguardian.com.ar/api/v1/ingest Token ng_******yIcL Environment demo Release 87f41c2 Log level error Slow request 2000 ms Slow query 1000 ms Timeouts connect 1s, total 2s Circuit breaker closed Spool 0 batch(es), 0.0 KB Spool directory /var/www/nightguardian.com.ar/storage/nightguardian/spool Events sent 8 Events rejected 0 Events spooled 0 Events dropped 0 Failed batches 0 Last success 2026-10-18 20:17:16 UTC Last failure - Last error - SDK internal errors 0
Events are sent after the response, so they show up in the panel a moment after you press a button. The live demo is limited to 20 actions per minute per visitor.