Dumpio

Dokumentace

The window has three areas: the sidebar (left), the dump list (center), and the detail panel (right), with a header above the list and detail.

  • Servers – an All Servers row with the total count plus one row per server (color dot, live status — pulsing green when active, PROTOCOL · host:port, and dump count). Click to filter to a single server.
  • Filter by flag – a toggle for each flag (red, yellow, blue, green, purple, pink, gray) with counts. Several flags can be active at once (logical OR); a Clear flag filters button appears when a filter is on.
  • Channels – shown when dumps carry channels; All Channels plus #channel rows with counts.

All counts in the sidebar are computed from all dumps, not the filtered view.

  • A search field with a scope selector (All / Keys / Values) and a regular-expression toggle (.*).
  • Stats: the number of dumps (filtered/total when a filter is active, otherwise just the total), N errors (exceptions), N data (non-exceptions), and N new (dumps from the last 60 seconds, self-updating).
  • Pin – keeps the window always on top (persisted).
  • Export – saves all dumps to a JSON file (disabled when the list is empty).
  • Clear – deletes all dumps (disabled when the list is empty).

Filters combine with AND logic — a dump must pass all active filters:

  1. Server – a specific server, or all.
  2. Flags – when some flags are selected, the dump's flag must be among them (dumps without a flag don't show while a flag filter is active).
  3. Channel – a specific channel, or all.
  4. Type – a filter for a single dump type (also available as tabs above the list).
  5. Search – matches metadata (origin/channel) and the content itself.

Search behavior:

  • Plain mode is case-insensitive substring search; regex mode uses /query/i (an invalid regex simply matches nothing, it doesn't crash).
  • Scope determines what is searched: All (keys and values), Keys (object keys only), Values (values only). Values are stringified (numbers, booleans, null, undefined included).
  • Deep content is searched up to a node limit; extremely large content above the limit is treated as a non-match.

All filters and the search query are persisted between runs, so the workspace opens exactly as you left it.

The stream: new, unread, pause

  • The NEW label – a brief (~4 s) highlight for just-received dumps.
  • Unread markers – a green left border, a bold title, and a dot remain until you actually open the dump (by click or keyboard). Selecting a dump marks it read.
  • Pause (p or the toggle in the bar) – truly freezes the list. Incoming dumps are buffered and the "N new – click to show" banner lets them in; resuming flushes the stream automatically. Repeated dedup dumps are collapsed in the buffer so a loop can't flood it.
  • Deduplication – dumps carrying a dedupeKey (from the SDK's count() / once() / limit() helpers) collapse onto an existing row, which floats back to the top and is marked unread again, with a ×N badge.

Grouping: screens & requests

The list can group related dumps so a run reads as a unit:

  • Requests — dumps that share a requestId (stamped by the SDK per HTTP request) appear under a request header showing the label (METHOD /path) and a dump count. Click the header to open a waterfall of that request's dumps in the detail panel — each on a shared time axis, with a bar sized by its duration (query time, measure, HTTP response time) so a slow query or a burst of N+1s stands out. It opens with a profile summary — total time, dump count, query count and time, HTTP, errors, and the slowest span. The header's chevron folds/unfolds the group. If the same query runs 3+ times within the request, the header also shows an amber N+1 ×N badge (a likely N+1 problem; hover it for the query).
  • Screens — a newScreen(label) control message inserts a screen: <label> separator; subsequent dumps fall under it until the next screen.

Dumps with neither stay ungrouped, exactly as an ungrouped stream.

Log-viewer mode

The Stream / Logs toggle in the toolbar switches the list into a dense, tail-style view of log dumps: one line each (level · time · #channel · message), level-colored. A row of level filter chips (Error / Warning / Info / Debug, with counts) lets you narrow to the levels you care about. Selecting a row opens the full record in the detail panel, as usual. The mode is remembered across sessions.

Paused requests (breakpoints)

When an app calls the SDK's pause(), its request blocks and a banner appears above the list — Paused: <label> with Continue and Stop buttons. Continue lets the request proceed; Stop ends the script. (A viewer-side timeout auto-continues, so a forgotten breakpoint never hangs the app forever.) This is separate from the toolbar's stream Pause, which only freezes the list.

Copying data

  • The detail header: Copy JSON (always), Copy cURL (only for HTTP dumps).
  • In a JSON/variable tree: copy the path to a node (e.g. user.roles[0].name) and the value; URL strings are clickable and open in the browser.
  • The command palette: Copy selected dump as JSON.

Jump to editor

A file:line location in exceptions, stack frames, and variable-dump callers becomes a clickable link that opens your editor at that line. You choose the editor in Settings → Appearance → Editor (saved per machine). Supported:

Editor Editor Editor
VS Code VS Code Insiders Cursor
PhpStorm WebStorm IntelliJ IDEA
Sublime Text TextMate Zed

The Off option renders locations as plain text.

Command palette

Open it with ⌘K / Ctrl+K (works even while typing). Fuzzy search for commands; move with /, Home/End, run with Enter, close with Esc.

Available commands:

  • Actions: Clear all dumps, Export dumps, Pause/Resume stream, Copy selected dump as JSON.
  • View: toggle light/dark theme, comfortable/compact density, open settings.
  • Type / server / flag / channel filters: set any filter to a value (or "All").

Keyboard shortcuts

Shortcuts are fixed (not customizable) and are ignored while typing in a field, except Esc and the command palette.

Key Action
j / Next dump
k / Previous dump
g g Jump to the first (press twice)
G Jump to the last
Enter Select the first dump (when nothing is selected)
/ Focus search
p Pause / resume the stream
Esc Clear the selection (or leave the search field)
⌘K / Ctrl+K Command palette

Movement is clamped to the ends (no wrap-around).

Appearance

  • Theme: light / dark / system (system follows the OS and updates at runtime).
  • Accent color: blue, violet, emerald, rose, amber, cyan — recolors buttons, links, and active states.
  • View mode: detailed / compact (how much each dump shows).
  • List density: comfortable / compact (row height).
  • Font size: small / medium / large.