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 exception

2. 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 page

Validation 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.