Integrate in 5 minutes

  1. 1

    Install the SDK

    Run `npm install @luminary/sdk` (Node.js / Bun) or `pip install luminary-sdk` (Python). No build step required.

  2. 2

    Initialise at startup

    Call `Luminary.init({ dsn: 'https://ingest.luminary.dev/your-project-key' })` before your first request handler. That's the entire configuration for most projects.

  3. 3

    Wrap your service handlers

    Use `Luminary.trace(name, fn)` around any function you want to instrument explicitly. HTTP frameworks are auto-instrumented — no wrapper needed for Express, Fastify, FastAPI, or Django.

  4. 4

    Deploy and open your dashboard

    Your first traces appear within seconds of deploying. The Luminary dashboard is available at dashboard.luminary.dev — no self-hosting required unless you want it.

Luminary trace waterfall showing a distributed request across four services

Trace waterfall — see every hop across your service boundary

The Luminary trace view renders the full call graph — ordered by wall-clock time, annotated with span attributes, and linked to logs from the same request.

  • Span-level attribute filtering with regex support
  • Error spans highlighted and linked to exception detail
  • Side-by-side comparison of two traces
Luminary alerting dashboard listing active conditions with severity and affected service

Alerting dashboard — active conditions at a glance

Every alert shows its trigger condition, baseline window, and the full trace context from the moment it fired — so context is never one tab away.

  • Baseline-relative thresholds with automatic seasonal adjustment
  • Alert grouping by service and deployment version
  • One-click silence with mandatory expiry and comment

Start instrumenting in five minutes

Luminary is free and open source. The managed ingestion tier handles up to 1M spans per day at no cost.

Star us on GitHub