# Requizon vs NightOwl

> Both keep your telemetry in a database you own. NightOwl stores everything Nightwatch captures in Postgres; Requizon stores only outgoing requests, in far more detail.

Source: https://requizon.boring-observability.dev/vs/nightowl
Section: Comparisons — Requizon
Updated: 2026-09-16

---

**Bottom line:** NightOwl is the answer if you like Nightwatch but not its event bill or its data centre: the same instrumentation, every event type, issues and alerts, stored in your own Postgres for a flat monthly price. For outgoing requests it inherits Nightwatch's record exactly, which means grouping by host, no bodies, sampling that follows the parent trace, and no row for a call that never got a response. Requizon records those, classifies failures, and keeps its dashboard inside your application. Use NightOwl for the application and Requizon for its dependencies, or Requizon alone if outgoing calls are what you need to watch.

[NightOwl](https://usenightowl.com) takes Laravel Nightwatch's instrumentation and points it somewhere else. You install its agent, which pulls in `laravel/nightwatch`, and the telemetry goes to a PostgreSQL database you provide rather than to Laravel's service. A dashboard hosted by NightOwl reads that database. Of everything we compare Requizon with, it is the closest on data ownership, and it covers the whole application where Requizon covers only outgoing requests.

## Nightwatch's capture, NightOwl's storage

Because the instrumentation is Nightwatch's, what NightOwl knows about an outgoing request is what Nightwatch records: host, method, URL, status code, duration and the sizes of the request and response, attached to the trace of the request, command or scheduled task that made it. NightOwl's agent writes those rows and a per-minute rollup keyed by host, with 2xx, 4xx and 5xx counts and a duration histogram for percentiles. On top it has its own issue tracking, with assignment and comments, and thresholds that open an issue when a call takes too long.

Most of our [Nightwatch comparison](https://requizon.boring-observability.dev/vs/nightwatch) therefore applies here too. This page covers what is different.

## At a glance

| For outgoing requests | NightOwl | Requizon |
| --- | --- | --- |
| What else it monitors | Everything Nightwatch captures | Nothing else |
| Price | $5, $15 or $69 a month by apps and seats, no event fees | A [one-time purchase](https://requizon.boring-observability.dev#pricing) per app |
| Where the data lives | Your PostgreSQL | Your MySQL |
| Where the dashboard runs | Hosted by NightOwl, connecting to your database | Inside your application |
| Extra processes | The NightOwl agent, kept running under a supervisor | None; two scheduled commands |
| Grouping | Host | [API](https://requizon.boring-observability.dev/docs/naming-apis), host and [normalised path](https://requizon.boring-observability.dev/docs/paths) |
| Response time | Percentiles from histograms | Average, with the three slowest members of each level charted |
| Calls that got no response | Not recorded as outgoing requests | `connection_error`, with the cause |
| A 200 with an error in the body | Counted as successful | [`application_error`](https://requizon.boring-observability.dev/docs/failure-detection) |
| Bodies | Sizes only | Response body of failed calls |
| Sampling | Follows the parent trace | None |
| Alerts | Issues by email, Slack, Discord or webhook | None |
| Default retention | 14 days raw, 90 days of rollups, once you schedule pruning | [14 days of calls, 365 days of hourly statistics](https://requizon.boring-observability.dev/docs/retention) |
| Requirements | Laravel 11+, PHP 8.2+, `pdo_pgsql` and `pdo_sqlite` | Laravel 12+, PHP 8.2+, MySQL 8.0.20+ or MariaDB |

## Your database, their dashboard

NightOwl's telemetry never goes to NightOwl's servers, which is a real difference from Nightwatch. The dashboard does, in a sense, come to the data: it is hosted by NightOwl and connects to your PostgreSQL from a fixed IP address, so the database has to be reachable from the public internet with that address allowed through. The agent also reports its own health and an hourly summary of table sizes and counters, which you can switch off. For organisations that cannot use a hosted dashboard at all, NightOwl says a self-hosted option is available.

Requizon has no second party in the picture. It writes to your application's database and its dashboard is a set of routes in your application, behind a [gate you define](https://requizon.boring-observability.dev/docs/installation). If the traffic you want to watch is traffic you are not allowed to expose, that is the simpler thing to get approved.

## What Nightwatch's record leaves out

Since the capture is Nightwatch's, so are its limits for outgoing requests. As of `laravel/nightwatch` 1.30, a call is recorded when a response arrives, so timeouts, refused connections and failed DNS lookups leave no outgoing request row; the exception can still be captured if it is reported. There is no hook for errors returned inside a `200`, and no bodies are kept. Outgoing requests are sampled with the trace that made them. Nightwatch recommends starting at a request sample rate of 0.1, and NightOwl's production example uses the same figure.

Requizon records every transfer, including the ones that never got a response, classifies each failure as a connection, HTTP or application error, and stores the body of anything that failed.

## Where NightOwl is the better choice

- **You want the whole application.** Requests, queries, jobs, exceptions and logs, correlated by trace, for a flat price. Requizon is one slice of that.
- **You want alerts and triage.** NightOwl opens issues on exceptions and on threshold breaches, including slow outgoing requests, and sends them to Slack, Discord, email or a webhook. Requizon has no alerting.
- **You run PostgreSQL or Laravel 11.** Requizon needs MySQL and Laravel 12 or later.
- **You need percentiles.** NightOwl's histograms give you p95 and other percentiles. Requizon charts averages and the slowest members of each group.
- **You want to query it with your own tools.** Both keep the data in your database, and NightOwl's documentation suggests pointing Metabase, Grafana or Superset at its tables.

## Running both

They do not conflict. NightOwl captures through Nightwatch's global middleware on Laravel's HTTP client and Requizon registers its own, and neither changes the request. NightOwl writes to its own PostgreSQL connection while Requizon writes to MySQL, so their tables never meet. Use NightOwl as the overview and Requizon when the question is how one vendor has been failing.


## Common questions

### Does NightOwl record outgoing HTTP requests?

Yes. NightOwl installs laravel/nightwatch as its instrumentation and stores what it sends, so each outgoing request is a row with its host, method, URL, status code, duration and request and response sizes, linked to the trace that made it. NightOwl rolls them up per minute by host into call counts, 2xx, 4xx and 5xx counts and duration histograms, and can open an issue when a call crosses a duration threshold you set.

### What is the difference between NightOwl and Laravel Nightwatch?

The capture is the same laravel/nightwatch package. Nightwatch sends events to Laravel's hosted service and bills by event. NightOwl runs its own agent, writes the events to a PostgreSQL database you provide and charges a flat monthly fee per plan, with a hosted dashboard that reads your database. Anything Nightwatch does not record, NightOwl does not record either.

### Does NightOwl record outgoing requests that time out?

Not as outgoing requests. NightOwl depends on laravel/nightwatch for capture, and as of Nightwatch 1.30 its HTTP client middleware records a call only when a response arrives. Timeouts, refused connections and DNS failures add nothing to the outgoing request tables, though the exception can still be captured if it is reported. Requizon records those transfers as connection_error rows with their cause.

### Does NightOwl send my data anywhere?

The telemetry is written to your PostgreSQL database, not to NightOwl's servers. The dashboard, though, is hosted by NightOwl and reads that database over the internet: the database must be publicly routable, and you allow NightOwl's static IP through your firewall. The agent also reports its health and hourly table statistics, which can be turned off. NightOwl offers a self-hosted option for organisations that cannot use a SaaS dashboard. Requizon's dashboard is served by your own application, so the data never leaves your infrastructure.

### Can I run NightOwl and Requizon together?

Yes. NightOwl captures through Nightwatch's global middleware on Laravel's HTTP client and Requizon registers its own; neither changes the request. The one thing to plan is the databases: NightOwl writes to its own PostgreSQL connection and Requizon needs MySQL, so the two never share tables.
