The hardest bugs are the ones tied to a specific request you never see — a malformed header from one client, a payload shape your tests never generate, an intermittent 500 under real load. The Ngris Traffic Inspector is built for exactly this: it captures requests flowing through your endpoints, lets you slice them with a precise filter, and replays the offending one against your local backend.
Capture every request
Live Tail shows inbound requests in real time with searchable payloads, from both the CLI and the dashboard. The dashboard uses a condition builder: each condition combines a dimension, an operator, and a value, and conditions stack. The dimensions are concrete:
- Request shape —
host,path,method,status,protocol. - Origin —
source_ip,asn,country. - Client —
ua(user-agent),browser,os.
Operators range from exact (equals, not_equals) through substring matches on the free-text dimensions (contains, starts_with, ends_with) to set membership (in, not_in). Sensitive headers are redacted by default based on your org's policy.
Search and filter from the CLI
The same data is one command away. Search the captured payloads, filter to the status codes you care about, live-tail new requests, then stream it as JSON into your own tooling:
# Errors matching a string, live-tailed as they arrive
ngris inspect --search "payment_intent" --status 4xx,5xx --follow
# Just the failures
ngris inspect --status 4xx,5xx
# Pipe into jq
ngris inspect --json | jq '.[].path'
Full options are in the Traffic Inspector docs.
Replay against your local backend
Once you've isolated the request, re-send it to your tunnel's local backend — verbatim, or with edits to the method, headers, or body for debugging:
# Replay verbatim to the local backend
ngris replay --id <req_id>
# Override the method, a header, and the body
ngris replay --id <req_id> --method POST \
--set-header "X-Debug: 1" \
--body '{"test": true}'
Prefer to click? The local inspector dashboard and TUI give every request a Replay and Edit & Replay button, and replays show up back in the list badged replay. Replay bypasses the public edge and doesn't follow redirects, so you see exactly what your backend returns — perfect for regression-testing a fix. See the Replay docs.
Plan notes
The Traffic Inspector is a paid feature, gated by the traffic_inspector entitlement. If you need to keep captured traffic around longer for postmortems, the Extended Retention add-on holds inspector data for 30 days at $20/month. Compare options on the pricing page.
Want the inspector to do more of the reading for you? Ngris AI features add traffic analysis and smart log search on top of the same captured data.
Stop guessing at production bugs
Capture the exact request, filter to it, and replay it against a fix.
Create a free account →