Skip to content

Native observations ​

Request execution ​

The hook sequence includes post-read, server/location rewrite boundaries, preaccess, access, precontent, header-filter entry/return, response-body filters, request-body filters and log. Each record carries a request-relative offset. Rewrite observations include path/location; child observations reference a bounded subrequest index.

These hooks are boundaries, not instrumentation of every module handler. A module that finalizes early can skip later hooks. Repeated visits can indicate internal redirect work; the original queryless path and final normalized path provide context.

Upstreams and policy ​

Individual nginx upstream states expose peer, status, connect/header/response time and byte counters. Retry triggers, limits and timeout values describe configured policy. Buffering reports both configured response buffering and effective upstream buffering, including normalized X-Accel-Buffering handling.

An upstream status is not an exact error cause. Read readiness, errors and timeout flags only establish the values observed at the hook.

Filters, buffers and body handling ​

Response observations include filter results, memory/file buffers, flush/sync markers, buffered masks, upstream temporary-file offset, range/conditional flags, content encoding and gzip ratio when available. Request-body observations count buffers and bytes and report temporary-file use, configured limits and streaming.

The filter observes buffer metadata without copying payload. Downstream filters can transform data; pre-transform byte counts differ from wire size.

Worker, event loop and pool ​

Snapshots include nginx version, worker/master PID, event backend, worker connection capacity, accept state, stub-status counters when compiled in, and a bounded scan of request pool blocks. Large allocation sizes and process RSS are unknown.

Readiness bits and timer-armed bits explain the state visible at an observation. They do not reconstruct every epoll wakeup or timer transition.

Released under the MIT License.