Search & Filtering
Full-text search, auto-derived facets, date ranges, and the message inspector.
All searching and filtering runs against the local cache — it costs nothing against SQS, has no visibility side effects, and works offline. Fetch generously, then slice locally.
Full-Text Search
The search box (⌘/Ctrl + F) matches against message IDs, attribute values, and body text. Input is tokenized on non-alphanumeric characters and each term is prefix-matched, so ord 123 finds a body containing "orderId": "12345". Search is Unicode-aware and instant even with tens of thousands of cached messages.
Facet Filters
Tarmac automatically derives facets from every cached message:
- Attributes — each message attribute key/value pair becomes a facet.
- Body fields — every scalar leaf in a JSON body becomes a facet, labeled by its dotted path (e.g.
order.status: failed).
Open the Facet Filters panel to see facet groups with live counts. Selections within a group are OR'd; selections across groups are AND'd — so status: failed + (region: us-east-1 or region: us-west-2) reads exactly like you'd expect. Active facets render as removable chips above the message list.
Facets are your error taxonomy
On a DLQ, open facets and look at the body-field groups before reading a single message. A facet like errorCode with counts per value is an instant histogram of why messages failed — often that's the whole investigation.
Date Range and Sorting
The From / To inputs filter on the message's SQS sent timestamp. Combine with search and facets to isolate an incident window. The list sorts by sent date, ascending or descending, and paginates 100 messages at a time with a Load older messages control ("Showing X of Y").
The Message Inspector
Click a row (or press Enter on a selection) to open the inspector panel. Tabs adapt to the message:
- Body — pretty-printed JSON with syntax highlighting and line numbers. Nested JSON-in-a-string is recursively unwrapped (up to 20 levels), so a JSON payload stringified inside an SNS envelope inside a queue message still reads as clean JSON.
- S3 — appears when an offloaded payload has been retrieved; shows the fetched S3 object. See S3 Payloads.
- Attributes — message attributes (binary values shown base64-encoded).
- Envelope — appears for SNS-wrapped messages; parses the notification metadata (topic ARN, subject, timestamp, SNS message attributes).
- System — sent time, first receive time, receive count, sender, and FIFO group/deduplication IDs.
- Raw — the message as raw JSON.
Every tab has a copy button (message ID, body, S3 payload, raw JSON), and rows offer a one-click "copy message body" that prefers the resolved S3 payload when present.
Per-Queue Workspace Memory
Tarmac remembers your workspace per queue — active tab, search text, facet selections, date range, selected message, and panel sizes — and restores it when you return to that queue.