<div dir="ltr"><div><div><div><div><div><div><div><div>Hi Maxim,<br></div>Thanks for you reply.<br></div>Actually we already tried to use the dtrace method to do real-time tracing as you mentioned.<br></div><div>dtrace is helpful in some scenarios.<br></div>But there are several issues we met while using dtrace, <br>1) the drace usage is not so friendly, as reference guide mentioned, need to define a lot of structure in dtrace script.<br></div>2) in performance/load test, our purpose is to trace HTTP requests call in nginx, instead of tracing some methods in one process.<br><br></div>And what I want to add http-call-trace in nginx source code, <br>1) it is a separated module, can be controlled by configure options (--with-http-call-trace), no impact any existence source code.<br>2) it's very easy to use and support alll OS platforms which nginx can support, no dependency on Dtrace tool.<br><br></div>Could you help think it again?<br><br></div>Best Regards<br></div>Xiaohua<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 20, 2017 at 10:02 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<div><div class="h5"><br>
On Wed, Dec 20, 2017 at 03:15:24PM +0800, Xiaohua Wang wrote:<br>
<br>
> Added to trace HTTP request call flow in nginx.<br>
><br>
> Especially for performance or load test purpose.<br>
> Because info level log is not enough,<br>
> and debug log is too much which impacts performance a lot.<br>
> Currently, two scenarios are supported.<br>
> 1) trace any point in source code like before/after function entry, or<br>
> middle of function.<br>
> 2) trace any call flow which takes longer time than specific latency<br>
> between two check point.<br>
<br>
</div></div>> # HG changeset patch<br>
> # User Xiaohua Wang <<a href="mailto:xiaohuaw@gmail.com">xiaohuaw@gmail.com</a>><br>
> # Date 1513591776 -28800<br>
> #      Mon Dec 18 18:09:36 2017 +0800<br>
> # Node ID 1cf1d4a74783573da28793f39b924f<wbr>a551fdfb65<br>
> # Parent  d3235149d17f7745d3ac246a6cdcc8<wbr>1a56698f7b<br>
> Added to trace http request call flow in nginx.<br>
><br>
> Especillay for performance or load test purpose.<br>
<span class="">> Because info level log is not enough,<br>
</span>> and debug log is too much which impacts performace a lot.<br>
<span class="">><br>
> Currently, two scenarios are supported.<br>
</span>> 1) trace any piont in source code like before/after function entry, or middle of function.<br>
<span class="">> 2) trace any call flow which takes longer time than specific latency between two check point.<br>
<br>
</span>No, thanks.<br>
<br>
If you need detailed real-time tracing, you may consider using<br>
DTrace.  The following article describes how to use it with nginx:<br>
<br>
<a href="http://nginx.org/en/docs/nginx_dtrace_pid_provider.html" rel="noreferrer" target="_blank">http://nginx.org/en/docs/<wbr>nginx_dtrace_pid_provider.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
______________________________<wbr>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-devel</a><br>
</font></span></blockquote></div><br></div>