<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><style>body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span>to&nbsp;<span style="font-family: tahoma; font-size: 12px; line-height: 18px; background-color: rgb(239, 239, 239);">&nbsp;</span><a href="mailto:kparthas@redhat.com" style="font-family: tahoma; font-size: 12px; line-height: 18px; background-color: rgb(239, 239, 239);">Krishnan Parthasarathi</a>:</div><div>thank you very much for your help,</div><div>As you said, &nbsp;I use&nbsp;<span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">stap -d /usr/local/sbin/glusterfs --ldd -e 'probe process("/usr/local/lib/glusterfs/3.5/xlator/mount/fuse.so").function("*"){print_ubacktrace()}' ,&nbsp;</span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">systemtap c</span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">an output the fuse module function of the stack ,&nbsp;</span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">But now I want to track glusterfs all function'call in order to&nbsp;</span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">analyze glusterfs system, need output all function call stack ,&nbsp;</span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">Do you have any better suggestion? or &nbsp;</span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">Recommend other tools(</span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">similar to systemtap</span><span style="background-color: window; font-size: 10.5pt; line-height: 1.5;">)?</span></div><div><span style="background-color: window; font-size: 10.5pt; line-height: 1.5;">&nbsp; &nbsp; &nbsp; &nbsp; thank you very much!</span></div><div><span style="background-color: rgb(241, 246, 245); color: rgb(65, 70, 78); font-family: 微软雅黑, Tahoma; font-size: 13px; line-height: 25px;"><br></span></div>
<div><br></div><hr style="width: 210px; height: 1px;" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>justglusterfs@gmail.com</div></div></span></div>
<blockquote style="margin-top: 0px; margin-bottom: 0px; margin-left: 0.5em;"><div>&nbsp;</div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm"><div style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 12px;FONT-FAMILY:tahoma;COLOR:#000000; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px"><div><b>From:</b>&nbsp;<a href="mailto:kparthas@redhat.com">Krishnan Parthasarathi</a></div><div><b>Date:</b>&nbsp;2014-05-13&nbsp;13:38</div><div><b>To:</b>&nbsp;<a href="mailto:justglusterfs@gmail.com">陈陈</a></div><div><b>CC:</b>&nbsp;<a href="mailto:gluster-devel@gluster.org">gluster-devel</a></div><div><b>Subject:</b>&nbsp;Re: [Gluster-devel] gluster IRC and use systemtap can't        output glusterfs backtrace</div></div></div><div><div>To probe functions in specific translators you need to</div>
<div>specify the path to the corresponding .so file in the process</div>
<div>provider.</div>
<div>&nbsp;</div>
<div>For eg, to probe functions in fuse translator,</div>
<div>&nbsp;</div>
<div>stap -d /usr/local/sbin/glusterfs --ldd -e 'probe process("/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so").function("*"){print_ubacktrace()}'</div>
<div>&nbsp;<span style="background-color: window;">确实可以输出fuse模块的函数栈</span></div>
<div>The following is the output I see, when I write files using dd on</div>
<div>a GlusterFS native mount,</div>
<div>&nbsp;</div>
<div>&lt;snip&gt;</div>
<div>&nbsp;</div>
<div>0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]</div>
<div> 0x7f7977a1c834 : fuse_resolve+0x74/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]</div>
<div> 0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]</div>
<div> 0x7f7977a1e4d0 : fuse_fd_ctx_get+0x0/0x40 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1c84c : fuse_resolve+0x8c/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]</div>
<div> 0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]</div>
<div> 0x7f7977a1c1e0 : fuse_resolve_continue+0x0/0x100 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1c9f8 : fuse_resolve+0x238/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]</div>
<div> 0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]</div>
<div> 0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]</div>
<div>&nbsp;</div>
<div>&lt;/snip&gt;</div>
<div>&nbsp;</div>
<div>Hope that helps,</div>
<div>Krish</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>----- Original Message -----</div>
<div>&gt; See inline for response.</div>
<div>&gt; </div>
<div>&gt; ----- Original Message -----</div>
<div>&gt; &gt; hi everyone!</div>
<div>&gt; &gt; I meet three question:</div>
<div>&gt; &gt; </div>
<div>&gt; &gt; question one:</div>
<div>&gt; &gt; </div>
<div>&gt; &gt; I use IRC client(mirc) config server is:&nbsp; irc.freenode.net&nbsp; or&nbsp; irc.gnu.org</div>
<div>&gt; &gt; but always can't connect, follwing errors:</div>
<div>&gt; &gt; Connect retry #1 irc,freenode,net (6667) (dns pool)</div>
<div>&gt; &gt; unable to connect server (connect timed out)</div>
<div>&gt; &gt; </div>
<div>&gt; &gt; </div>
<div>&gt; &gt; </div>
<div>&gt; &gt; question two:</div>
<div>&gt; &gt; I system is centos6.4,glusterfs version is 3.4.</div>
<div>&gt; &gt; I want to use systemtap watch glusterfs function backtrace,</div>
<div>&gt; &gt; when I configure glusterfs source code, execute the following operation:</div>
<div>&gt; &gt; ./configure --enable--systemtap</div>
<div>&gt; &gt; but checking dtrace happen error,because in my system,no dtrace,my</div>
<div>&gt; &gt; question is --enable--systemtap why need dtrace?&nbsp; it must have dtrace?</div>
<div>&gt; </div>
<div>&gt; I think the systemtap folks have retained certain symbols from dtrace</div>
<div>&gt; so that code instrumented with systemtap user specified probes are compatible</div>
<div>&gt; with systems that have dtrace but not systemtap in them.</div>
<div>&gt; </div>
<div>&gt; &gt; </div>
<div>&gt; &gt; question three:</div>
<div>&gt; &gt; when I do io test in glusterfs client. I execute following command:</div>
<div>&gt; &gt; stap -d /usr/local/sbin/glusterfs --ldd -e 'probe</div>
<div>&gt; &gt; process("glusterfs").function("*"){print_ubacktrace()}'</div>
<div>&gt; &gt; </div>
<div>&gt; &gt; the result is&nbsp; there is nothing output, and&nbsp; the stap command S state,</div>
<div>&gt; &gt; no return.</div>
<div>&gt; </div>
<div>&gt; For 'process' systemtap provider, you don't need to compile glusterfs with</div>
<div>&gt; "--enable-systemtap". I am not sure why you are not seeing any of the probes</div>
<div>&gt; firing in your stap script. Let me try this same and share my results on this</div>
<div>&gt; thread.</div>
<div>&gt; </div>
<div>&gt; Hope that helps,</div>
<div>&gt; Krish</div>
<div>&gt; </div>
<div>&gt; &gt; </div>
<div>&gt; &gt; thank you answer me!</div>
<div>&gt; &gt; _______________________________________________</div>
<div>&gt; &gt; Gluster-devel mailing list</div>
<div>&gt; &gt; Gluster-devel@gluster.org</div>
<div>&gt; &gt; http://supercolony.gluster.org/mailman/listinfo/gluster-devel</div>
<div>&gt; &gt; </div>
<div>&gt; _______________________________________________</div>
<div>&gt; Gluster-devel mailing list</div>
<div>&gt; Gluster-devel@gluster.org</div>
<div>&gt; http://supercolony.gluster.org/mailman/listinfo/gluster-devel</div>
<div>&gt; </div>
</div></blockquote>
</body></html>