Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Debugging and review

Debugging and review

The request timeline in jadpo dev

On this page

jadpo dev records every request it serves and prints one line for each, with its request id. jadpo trace <request id> shows that request's whole timeline: the route, the caller, the actions and queries with their SQL, rows and timings, the writes, the events emitted, the subscribers run, the calls to outside services, and the outcome. It is like a development log that also gives each query's source line. It is built from the spans, the timed steps of a trace, that Jadpo already records (Telemetry).

text
$ jadpo devlistening on http://localhost:3000req_0b1e  POST /todos/0192…/complete   409 todo_mutation_conflict   41 msreq_0b1f  GET /todos                   200   9 ms   3 queries$ jadpo trace req_0b1ePOST /todos/0192…/complete   409 todo_mutation_conflict   41 ms   as user 0192…a7  route    domains/planning/routes/todos.jadpo:31  action   complete_todo                   domains/planning/actions/complete_todo.jadpo:4    query  Todo.get           3 ms  1 row  SELECT … FROM todos WHERE id = $1 AND deleted_at IS NULL    write  Todo.update        2 ms  0 rows (expected revision 7, found 8)    fail   TodoMutationConflict           complete_todo.jadpo:9  rolled back; no events emitted

What the SQL shows

SQL is shown with placeholders. Its parameters follow the rule for a failure's internal fields in logs (Logging): identifiers, numbers, enums, booleans and times are shown as values, and text as a keyed hash, so you can tell two values apart without seeing either.

Where timelines are kept

The last 500 timelines are kept in build/dev/, which Jadpo generates and you never commit. Production records the same spans and sends them through OpenTelemetry (Telemetry), so you view them in whatever tool your team already uses.

What gets flagged

A request that runs several queries for one call, or runs a query with no index to use, is flagged on its line. These are the same problems the query report flags, the report jadpo check writes to build/report/ (Tools for agents).

Provider calls in the timeline

Calls to a provider, an outside service such as Stripe, appear in the timeline with their inputs and answers in full and where each answer came from: recording, generated, scripted or sandbox (Provider calls in development).

An action can make several calls that change something at a provider. For such an action, the timeline shows each step's state: recorded, sent, answered, replayed or in doubt (Several changing calls in one action).

Markdown for agents: /docs/the-request-timeline-in-jadpo-dev.md.Built from Jadpo main at a707efb.