Dumpio

Dokumentace

A dump is any JSON value. Most often it's an object in which a few reserved keys form the "envelope" and everything else is your content. This page describes the exact contract Dumpio applies to incoming data.

The envelope

When the top-level value is an object, Dumpio reads these fields:

Field Type Default Meaning
flag red | yellow | blue | gray | purple | pink | green gray Color category. Any other value falls back to gray.
channel string default Grouping, shown as #channel and filterable.
timestamp number (ms) receive time Overrides the displayed time. Non-numeric values are ignored.
origin string sender's ip:port Where the dump came from.
type string Selects a specialized rendering, see Dump types.
token string Authentication for TCP only. For HTTP use the header, see Security.

Everything is optional. The smallest useful dump is {"message":"hi"}.

Note: if the top-level value is not an object (e.g. a bare array or string), no envelope field applies — the value is stored as-is, with the default flag and channel and the receive time.

Title selection

The title of a row in the list is chosen from the content in this order of priority:

messagesubjectlabeltitlenameeventsql (first 80 characters) → exceptionerrormethod + urltype capitalized → "Data Dump".

So both {"message":"…"} and {"title":"…"} work; when both are present, message wins.

Color flags

Flags are a fixed set. The app doesn't impose meaning on them — the following convention is used by Dumpio and its SDKs:

Flag Typical use
red Errors, exceptions, critical states, HTTP ≥ 500
yellow Warnings, deprecations, HTTP 4xx
blue Information, general data
green Success
purple Database queries
pink Email, user events
gray Default / uncategorized

Unparseable input is always marked with the red flag.

Limits and trimming

Before display, Dumpio defensively bounds each content so a hostile or accidentally huge dump can't block rendering:

Limit Default Behavior on exceeding
Max depth 32 Deeper values are replaced with [Max depth exceeded]
Max string length 100,000 chars The string is trimmed with a …[truncated] marker
Max keys / elements 2,000 The overflow is collapsed into a …truncated marker

Exception: html and mail dumps get a much larger string-length limit (2,000,000 chars) so whole page and email bodies survive.

These limits protect rendering and are independent of the network maximum size limit (that one rejects the whole request before parsing, see Security).

The raw fallback dump

If a message can't be parsed as JSON, Dumpio does not discard it. It stores a raw dump with the original text and the parser error, marked with the red flag. The detail shows "Could not parse as JSON – …" above the original content. This applies to HTTP (which still responds 202) and TCP.

A fuller example

1{
2 "message": "Order placed",
3 "flag": "green",
4 "channel": "checkout",
5 "timestamp": 1749900000000,
6 "order_id": 123,
7 "customer": { "id": 7, "email": "ada@example.com" },
8 "totals": { "net": 1239.5, "vat": 260.4 }
9}

Everything under the order_id, customer, and totals keys is your content and renders as an interactive tree with per-node copy buttons.