LOCAL REQUEST FLIGHT RECORDER

See where it went.
See the code behind it.

Watch one Node.js request cross your app, inspect the TypeScript declaration behind every proven hop, and replay the causal path — locally, without a hosted observability stack.

  • Node.js + TypeScript
  • No account
  • OTLP/HTTP JSON

GUIDED PRODUCT WALKTHROUGH

One request. Three useful views.

01 / 03
Watch the causal path light up.

Route, middleware, services, databases, queue, and external calls appear in execution order—not as an aggregate diagram.

Run this scenario locally →
REAL BROWSER CAPTURES Representative traces from the deterministic local demo
01AST-derived topologyts-morph, no source execution
02Causal request pathsAsyncLocalStorage context
03Source inspectionAnalyzer-approved locations only
04Bounded evidenceMemory, bodies, rates, queues

THE OPERATING MODEL

One map. Two kinds of evidence.

Static analysis explains what the application declares. Runtime events prove what one recent request did. Runtime Atlas keeps the distinction visible.

  1. 01 / ANALYZE

    Read declarations

    Discover literal routes, middleware, services, databases, caches, queues, and external calls.

    atlas.service({ id, label }, handler)
  2. 02 / OBSERVE

    Capture causal work

    Use the first-party SDK or existing OTLP/HTTP JSON exporters without blocking requests.

    trace → parent span → child span
  3. 03 / RECONCILE

    Join proof to code

    Resolve explicit node IDs, code provenance, HTTP routes, then bounded runtime-only evidence.

    static node ⇄ measured span
  4. 04 / INSPECT

    Replay the path

    Select history, scrub ordered events, inspect source context, export, or clear retained traces.

    26 / 26 events · 483 ms

PRODUCT EVIDENCE

Move from architecture to explanation.

The built-in local demo models checkout, search, and a dependency failure with simulated downstream delays. It demonstrates the workflow without pretending to call real third-party systems.

01

SOURCE-DERIVED MAP

See the topology before traffic arrives.

Literal TypeScript declarations become an explorable graph immediately. The map stays honest about what was proven statically and what appeared only at runtime.

02

SOURCE INSPECTOR

Land on the declaration behind the node.

Inspect an analyzer-approved source window alongside last latency, mean latency, call count, runtime state, and safe metadata.

03

NARROW VIEWPORT

The live map stays usable.

Scenario controls, topology, focus states, and navigation remain available on a Pixel 7-sized viewport verified in Chrome.

BRING YOUR OWN TRACE EVIDENCE

Instrument directly or connect OpenTelemetry.

Both paths feed the same bounded in-memory runtime. Binary protobuf and gRPC are intentionally outside the supported collector surface.

A

FIRST-PARTY

Node.js SDK

WORKSPACE

Framework-neutral wrappers and Connect/Express middleware preserve parent-child context through concurrent promises. Transport queues, retries, and timeouts are bounded.

instrumented-orders.ts
const ordersDb = atlas.database(
  { id: "db.orders", label: "Orders DB" },
  async () => saveOrder(),
);

const createOrder = atlas.route(
  { id: "route.orders", label: "POST /orders" },
  async () => ordersDb(),
);
Download the complete example
B

STANDARDS PATH

OTLP/HTTP JSON

JSON + GZIP

Send complete OpenTelemetry spans to the exact traces endpoint. Runtime Atlas retains only a small allowlist of routing, service, code, database, and messaging evidence.

collector endpoint
curl --request POST \
  http://127.0.0.1:4319/v1/traces \
  --header 'content-type: application/json' \
  --data-binary @examples/otlp-trace.json
Download the sample payload

LOCAL-FIRST BY CONSTRUCTION

Operational evidence without a hosted telemetry service.

Runtime Atlas binds to loopback by default, keeps traces in process memory, and ships without accounts, analytics, cookies, advertising, or a persistent telemetry database.

Read the privacy model
NOT RETAINED

Request bodies, database statements, query strings, URL fragments, credentials, arbitrary OTLP attributes.

BOUNDED

Trace history, event buffers, events per trace, aggregate events, request bodies, SDK queues, and viewer count.

EXPLICIT

Source inspection and trace clearing can be disabled; bearer authentication protects shared ingest.

HONEST LIMIT

This is not a durable tracing database, metrics platform, or public multi-tenant service.

FIRST RUN

Go from a fresh clone to your first trace.

The pinned Node.js version and locked dependencies make the built-in demo reproducible. Open the URL printed by Vite, then launch POST /checkout, GET /search, or FAIL /payment. A 14-node topology appears before the first request; the captured path then animates across it.

runtime-atlas / local
$ git clone https://github.com/OthmaneBlial/Runtime-Atlas.git
$ cd Runtime-Atlas
$ nvm install && nvm use
$ npm ci && npm run dev
API 127.0.0.1:4319UI 127.0.0.1:5173*

RUNTIME ATLAS / MIT

Trace what happened.
Keep the proof close to code.