Re: dtrace выдает нулевые значения

Maxim Dounin mdounin на mdounin.ru
Чт Июл 1 15:55:33 UTC 2021


Hello!

On Thu, Jul 01, 2021 at 09:31:01AM -0400, chaturanga wrote:

> Максим, а можете подсказать для какой версии nginx скрипт будет актуален.
> Попробовал 
> nginx/1.16.0
> nginx/1.4.6
> Результаты также пустые/нулевые.

Статья была добавлена в октябре 2012 года 
(https://hg.nginx.org/nginx.org/rev/5182e655d055), так что 
приведённый в качестве примера скрипт, вероятнее всего, актуален 
для версий в районе nginx 1.3.7.

Впрочем, сейчас вот попробовал обновить скрипт - и в добавок, 
похоже, как минимум на FreeBSD лезут проблемы с выравниванием 
(скажем, DTrace почему-то пытается выравнивать off_t на 16 байт на 
32-битных платформах) и с битовыми полями (каждое битовое поле, 
похоже, DTrace пакует в 1 байт, не пытаясь их объединять), что 
приводит к некорректным размерам структур ngx_http_headers_in_t и 
ngx_http_headers_out_t.  И соответственно к некорректным смещениям 
используемых в скрипте полей request_line и start_sec.  Если 
руками задать правильные размеры - начинает работать.

-- 
Maxim Dounin
http://mdounin.ru/


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