Introduction
PeekInside shows every request your Node.js app handles, with the database queries, outgoing calls, logs and exceptions behind it.
PeekInside records every request your Node.js app handles: headers, bodies, timing and status, live in a dashboard. Next to each request it keeps what the request did, its database queries, outgoing calls and logs, on a timeline, and every exception, linked to the request it happened in.
It works with Express, Koa, Fastify and the native http module. It has no dependencies, and its TypeScript types ship with it.
Two ways to run it#
The same SDK does both. Without an API key it keeps a dashboard on your computer; with one, it sends what it records to PeekInside Cloud, encrypted.
| Local dashboard | PeekInside Cloud | |
|---|---|---|
| For | Development, on your computer | Staging and production servers |
| Your data | Stays on your machine, in ~/.peekinside |
Encrypted on your server, decrypted in your browser |
| Account | Not needed | Required |
| Price | Free | $10 a month per organization, after a 7-day trial |
| Setup | PeekInside.attach(app) |
The same, plus PEEKINSIDE_API_KEY |
What it records#
- Requests and responses. Method, URL, headers, bodies (JSON as a tree, forms as fields, gzip and brotli unpacked), status and timing, and how each request compares with the other calls to its route.
- A timeline for each request. Database queries (PostgreSQL, MySQL, MongoDB, Prisma, and the ORMs built on them), outgoing HTTP calls, console lines and your own measures, in the order they ran.
- Database queries across requests. Queries grouped into statements, with slow queries, N+1 loops and duplicates flagged, and the line of your code that ran each one.
- Exceptions. Stack traces with your source lines, grouped into issues, each linked to the request it happened in. Crashes too.
Next steps#
- Quick start: add PeekInside to your app in a minute.
- Local dashboard: how the free dashboard on your computer works.
- PeekInside Cloud: record your servers, encrypted.