Getting started

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#