Documentation

Event Debugger

Poll recent events for debugging instrumentation

The Event Debugger polls recent events flowing into your project. Use it to verify your tracking implementation, debug missing properties, and confirm event IDs covered by an ingest receipt are visible in the analytics query path.

Accessing the debugger

Navigate to /{projectId}/debugger in the dashboard app, or click Event Debugger in the sidebar under Tools.

Features

FeatureDescription
Poll/Pause toggleStart and stop polling without losing buffered events
Event type filtersClick event name badges to filter the stream by type
SearchSearch event names, stable event IDs, identities, sessions, locations, and properties
Expandable propertiesClick any event row to inspect its event ID, identities, session, timestamp, and JSON properties
Geo dataShows country and city from Cloudflare geo enrichment
Rolling bufferKeeps up to 200 events with automatic event-ID deduplication
Connection stateDistinguishes connecting, successful polling, failure, and paused states and shows the last successful poll

How it works

The debugger polls the /api/events endpoint every 3 seconds, which queries the recent_events Tinybird pipe for events from the last 5 minutes. Requests and downstream rows are validated, overlapping work is aborted, and events are deduplicated by stable event_id across polls.

// The polling hook
const { events, status, lastSuccessAt, togglePolling, clear } = useEventStream(projectId)

// Each event contains:
{
  event_id: "evt_01HXYZ...",
  event: "signup_completed",
  timestamp: "2026-02-05T12:34:56.789Z",
  distinct_id: "user_abc123",
  person_id: "person_123",
  session_id: "sess_xyz",
  properties: '{"plan": "pro", "source": "google"}',
  country: "US",
  city: "San Francisco"
}

Tip

Open the debugger in one tab and your app in another. As you interact with your app, newly accepted events appear after warehouse propagation and a successful poll. Duplicate receipts refer to an event ID that may already be present.

Next Steps