Please help review and approve one change

Xiaohua Wang xiaohuaw at gmail.com
Mon Dec 25 03:24:51 UTC 2017


Hi Maxim,
Thanks for you reply.
Actually we already tried to use the dtrace method to do real-time tracing
as you mentioned.
dtrace is helpful in some scenarios.
But there are several issues we met while using dtrace,
1) the drace usage is not so friendly, as reference guide mentioned, need
to define a lot of structure in dtrace script.
2) in performance/load test, our purpose is to trace HTTP requests call in
nginx, instead of tracing some methods in one process.

And what I want to add http-call-trace in nginx source code,
1) it is a separated module, can be controlled by configure options
(--with-http-call-trace), no impact any existence source code.
2) it's very easy to use and support alll OS platforms which nginx can
support, no dependency on Dtrace tool.

Could you help think it again?

Best Regards
Xiaohua

On Wed, Dec 20, 2017 at 10:02 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:

> Hello!
>
> On Wed, Dec 20, 2017 at 03:15:24PM +0800, Xiaohua Wang wrote:
>
> > Added to trace HTTP request call flow in nginx.
> >
> > Especially for performance or load test purpose.
> > Because info level log is not enough,
> > and debug log is too much which impacts performance a lot.
> > Currently, two scenarios are supported.
> > 1) trace any point in source code like before/after function entry, or
> > middle of function.
> > 2) trace any call flow which takes longer time than specific latency
> > between two check point.
>
> > # HG changeset patch
> > # User Xiaohua Wang <xiaohuaw at gmail.com>
> > # Date 1513591776 -28800
> > #      Mon Dec 18 18:09:36 2017 +0800
> > # Node ID 1cf1d4a74783573da28793f39b924fa551fdfb65
> > # Parent  d3235149d17f7745d3ac246a6cdcc81a56698f7b
> > Added to trace http request call flow in nginx.
> >
> > Especillay for performance or load test purpose.
> > Because info level log is not enough,
> > and debug log is too much which impacts performace a lot.
> >
> > Currently, two scenarios are supported.
> > 1) trace any piont in source code like before/after function entry, or
> middle of function.
> > 2) trace any call flow which takes longer time than specific latency
> between two check point.
>
> No, thanks.
>
> If you need detailed real-time tracing, you may consider using
> DTrace.  The following article describes how to use it with nginx:
>
> http://nginx.org/en/docs/nginx_dtrace_pid_provider.html
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20171225/adda6697/attachment.html>


More information about the nginx-devel mailing list