Print current running connections in nginx

Mathew Heard me at mheard.com
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 gmail.com <
nginx-forum at forum.nginx.org> 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:
> https://forum.nginx.org/read.php?2,287673,287676#msg-287676
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20200416/789bafda/attachment-0001.htm>


More information about the nginx mailing list