Wide event

One rich, structured event that carries nearly everything you would need to explain a request after it finishes.

wide ventone giant log event per requestput all the debugging context in one logone big json blob when the request finishesstop hunting across ten log linesthe log entry with everything in ithow do people debug from a single log linefat log event

See it

Live demo coming soon

What it is

A wide event is one structured record with enough fields to describe a request or unit of work in context: route, status, duration, user, tenant, release, feature flags, and the result. Honeycomb, and Charity Majors in particular, popularized the term for events that are both wide, meaning many fields, and high-dimensional, meaning those fields can answer many different questions.

Reach for it when debugging requires stitching together a trail of tiny log messages. Build the event as work progresses, then emit it once at the boundary so a single query can compare slow requests by customer, endpoint, build, or any other captured field.

Gotcha: broad context is not permission to dump every object you touch. Request bodies, tokens, emails, and unbounded blobs create privacy, cost, and indexing problems. Define a field schema, redact at the source, and keep large payloads out of the event.

Ask AI for it

Implement wide events for this Node.js HTTP service with pino and AsyncLocalStorage. Create one mutable event context per request, add request_id, trace_id, route, method, tenant_id, user_id, release, feature flags, database call count, cache result, status, error class, and duration_ms as the request runs, then emit exactly one structured event from res.on('finish'). Redact authorization, cookie, email, and request body fields, omit undefined values, and add a test proving concurrent requests cannot leak context into each other.

You might have meant

structured loggingcorrelation idhigh cardinalitytelemetrylog aggregation