Print current running connections in nginx

Mathew Heard me at
Thu Apr 16 09:02:14 UTC 2020

This is a snippet from something I was experimenting with. I can't recall
it actually worked, but it might help for a start. Good Luck.

ngx_cycle_t *cycle
for (i = 0; i < cycle->connection_n; i++) {
        c = &conns[i];
if (c->fd == (ngx_socket_t) -1 || c->idle || c->listening) continue;
hlc = (ngx_http_log_ctx_t*)c->log->data;
if(!hlc) continue;
        r = hlc->current_request;
        ngx_log_error(NGX_LOG_ERR, c->log, 0, "has hlc");
        if(!r) continue;
        ngx_log_error(NGX_LOG_ERR, c->log, 0, "has req");

On Thu, 16 Apr 2020 at 18:49, sachin.shetty at <
nginx-forum at> wrote:

> Thanks Mathew.
> I thought about it and even prototyped it with openresty, but I am
> concerned
> about ngx.shared.DICT.get_keys locking the whole dictionary and blocking
> connections that are trying to add new incoming connections.
> Is there some worker datastructure available that can be read and reported
> from? The worker obviously knows all the connections it is handling and the
> various states the connections are in. So it would be easy to iterate the
> internal data structure with an ngx.timer.every timer.
> Thanks
> Sachin
> Posted at Nginx Forum:
> _______________________________________________
> nginx mailing list
> nginx at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list