<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 <span style="font-family: tahoma; font-size: 12px; line-height: 18px; background-color: rgb(239, 239, 239);"> </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, I use <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()}' , </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 , </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 </span><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">analyze glusterfs system, need output all function call stack , </span></div><div><span style="font-size: 10.5pt; line-height: 1.5; background-color: window;">Do you have any better suggestion? or </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;"> 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> </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> <a href="mailto:kparthas@redhat.com">Krishnan Parthasarathi</a></div><div><b>Date:</b> 2014-05-13 13:38</div><div><b>To:</b> <a href="mailto:justglusterfs@gmail.com">陈陈</a></div><div><b>CC:</b> <a href="mailto:gluster-devel@gluster.org">gluster-devel</a></div><div><b>Subject:</b> 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> </div>
<div>For eg, to probe functions in fuse translator,</div>
<div> </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> <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> </div>
<div><snip></div>
<div> </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> </div>
<div></snip></div>
<div> </div>
<div>Hope that helps,</div>
<div>Krish</div>
<div> </div>
<div> </div>
<div>----- Original Message -----</div>
<div>> See inline for response.</div>
<div>> </div>
<div>> ----- Original Message -----</div>
<div>> > hi everyone!</div>
<div>> > I meet three question:</div>
<div>> > </div>
<div>> > question one:</div>
<div>> > </div>
<div>> > I use IRC client(mirc) config server is: irc.freenode.net or irc.gnu.org</div>
<div>> > but always can't connect, follwing errors:</div>
<div>> > Connect retry #1 irc,freenode,net (6667) (dns pool)</div>
<div>> > unable to connect server (connect timed out)</div>
<div>> > </div>
<div>> > </div>
<div>> > </div>
<div>> > question two:</div>
<div>> > I system is centos6.4,glusterfs version is 3.4.</div>
<div>> > I want to use systemtap watch glusterfs function backtrace,</div>
<div>> > when I configure glusterfs source code, execute the following operation:</div>
<div>> > ./configure --enable--systemtap</div>
<div>> > but checking dtrace happen error,because in my system,no dtrace,my</div>
<div>> > question is --enable--systemtap why need dtrace? it must have dtrace?</div>
<div>> </div>
<div>> I think the systemtap folks have retained certain symbols from dtrace</div>
<div>> so that code instrumented with systemtap user specified probes are compatible</div>
<div>> with systems that have dtrace but not systemtap in them.</div>
<div>> </div>
<div>> > </div>
<div>> > question three:</div>
<div>> > when I do io test in glusterfs client. I execute following command:</div>
<div>> > stap -d /usr/local/sbin/glusterfs --ldd -e 'probe</div>
<div>> > process("glusterfs").function("*"){print_ubacktrace()}'</div>
<div>> > </div>
<div>> > the result is there is nothing output, and the stap command S state,</div>
<div>> > no return.</div>
<div>> </div>
<div>> For 'process' systemtap provider, you don't need to compile glusterfs with</div>
<div>> "--enable-systemtap". I am not sure why you are not seeing any of the probes</div>
<div>> firing in your stap script. Let me try this same and share my results on this</div>
<div>> thread.</div>
<div>> </div>
<div>> Hope that helps,</div>
<div>> Krish</div>
<div>> </div>
<div>> > </div>
<div>> > thank you answer me!</div>
<div>> > _______________________________________________</div>
<div>> > Gluster-devel mailing list</div>
<div>> > Gluster-devel@gluster.org</div>
<div>> > http://supercolony.gluster.org/mailman/listinfo/gluster-devel</div>
<div>> > </div>
<div>> _______________________________________________</div>
<div>> Gluster-devel mailing list</div>
<div>> Gluster-devel@gluster.org</div>
<div>> http://supercolony.gluster.org/mailman/listinfo/gluster-devel</div>
<div>> </div>
</div></blockquote>
</body></html>