Alpha

Every Node request, one line at a time.

One middleware for Express, Fastify, Koa, Hono, or Next.js. One line per database, queue, and logger. Outgoing fetch is traced for free.

1 line
per driver, queue, or logger
5
frameworks, plus node:http
Node 22+
24 is best
server.ts
const wizelens = createWizeLens({ serviceName: "orders-api" });
instrumentPg(wizelens, pg);
instrumentPino(wizelens, logger);
instrumentAmqplib(wizelens, amqplib);

const app = express();
app.use(wizelens.middleware);
POST /orders · 96 ms
POST /orders96 ms
INSERT INTO orders (customer_id, total) …4.2 ms
SELECT qty FROM stock WHERE sku = $11.1 ms
info order 1042 created
publish order.created2.4 ms
fetch POST billing/invoices58 ms

What gets captured.

Everything below lands in the same trace as the request that caused it.

Frameworks

  • Express
  • Fastify
  • Koa
  • Hono
  • Next.js
  • node:http

Databases

  • pg
  • mysql2
  • better-sqlite3
  • node:sqlite
  • Prisma
  • TypeORM
  • Drizzle
  • traceDb() for any driver

Calls out

  • fetch and undici, automatic
  • @grpc/grpc-js

Messages

  • amqplib (RabbitMQ)
  • kafkajs
  • @azure/service-bus

Logs

  • console, automatic
  • pino
  • winston
  • bunyan
  • log4js
  • consola
  • NestJS
  • OpenTelemetry logs

Metrics

  • CPU and memory
  • V8 heap
  • Event loop delay
  • GC pauses
  • Your OpenTelemetry metrics

Small on purpose.

One line per library.

No agent and no require hooks to set up. You tell WizeLens about the driver you use, and every query on it is traced.

instrumentPg(wizelens, pg)

No query is counted twice.

Prisma on pg, or Drizzle on better-sqlite3? The ORM and the driver under it never record the same query twice.

Your logs stay where they were.

WizeLens copies each line into its trace. Your logger still writes to the console, a file, or wherever it wrote before.

Off in production.

On unless NODE_ENV is production. Turn it on there yourself, and add sampling for busy services.

Mixing stacks? One trace across all of them.

A React front end, a .NET gateway, and a Node service follow the same rules and join the same trace.