nginx report a timestamp on upstream_response_time
Dani Bento
dani at telecom.pt
Tue Feb 10 16:08:06 UTC 2015
Hello,
We are using LUA header filter to process some headers and decide if
the request should continue or stop (or redirect), using
ngx.exit().
Can it be a failure on ngx.exit LUA call? We will try to trace the
process to be sure where the problem resides.
Dani
On Tue, 10 Feb 2015 15:25:39 +0000
Maxim Dounin <mdounin at mdounin.ru> wrote:
> Hello!
>
> On Tue, Feb 10, 2015 at 11:54:57AM +0000, Dani Bento wrote:
>
> > Hello,
> >
> > We are using nginx 1.6.2 and we found in our logs a strange behavior
> > when connecting to an upstream.
> >
> > We found that in ngx_http_upstream.c:1213 we have:
> >
> > u->state->response_sec = tp->sec;
> > u->state->response_msec = tp->msec;
> >
> > which gave to the last state the current ngx time (ngx_timeofday()).
> >
> > For some reason, the ngx_http_upstream_finalize_request(), where
> > those values are updated to the correct value, doesn't run (we
> > observe that most of the times, but not all the times, it happens
> > after a 302 given by then upstream).
> >
> > This is a normal behavior? If yes, have we any way to avoid those
> > pikes in the logs?
>
> No, this is not normal, ngx_http_upstream_finalize_request() is
> expected to be called before request logging. If this doesn't
> happen in your case, it would be good to trace the problem.
>
> Just in case, some debugging hints can be found at
> http://wiki.nginx.org/Debugging.
>
--
Dani Bento
Direção de Internet e Tecnologia
DTS/DVS
tlm: +351 91 429 72 81
dani at telecom.pt
More information about the nginx-devel
mailing list