r->start_sec, r->start_msec

Igor Sysoev igor на sysoev.ru
Вт Апр 19 15:04:01 MSD 2011


On Tue, Apr 19, 2011 at 01:40:42PM +0400, Igor A. Valcov wrote:
> Здравствуйте!
> 
> У меня вопрос по внутренностям.
> 
> В структуре запроса есть два поля: r->start_sec и r->start_msec, в
> которых хранится время начала запроса.
> Инициализируются они в http/ngx_http_request.c
> 
> ngx_http_init_request(...)
> ...
> tp = ngx_timeofday();
> r->start_sec = tp->sec;
> r->start_msec = tp->msec;
> 
> Далее, при отправке подзапроса в http/ngx_http_core_module.c
> 
> ngx_http_subrequest(...)
> ...
> tp = ngx_timeofday();
> r->start_sec = tp->sec;
> r->start_msec = tp->msec;
> 
> тут r - основной запрос, а поздапрос - sr
> Получается, что при отправке подзапроса, сбрасывается время основного
> запроса на момент отправки подзапроса, а время старта подзапроса не
> устанавливается.
> 
> Т.е. в случае, если запрос отправлял подзапросы, то в
> start_sec/start_msec будет время с момента отправки последнего
> поздапроса, а не с момента инициализации самого запроса.
> 
> Это так и задумано или нет?

Нет, это ошибка, должно быть sr. Спасибо.


-- 
Igor Sysoev



Подробная информация о списке рассылки nginx-ru