thank you very much for your help,
As you said, I use stap -d /usr/local/sbin/glusterfs --ldd -e 'probe process("/usr/local/lib/glusterfs/3.5/xlator/mount/fuse.so").function("*"){print_ubacktrace()}' ,
systemtap can output the fuse module function of the stack ,
But now I want to track glusterfs all function'call in order to analyze glusterfs system, need output all function call stack ,
Do you have any better suggestion? or Recommend other tools(similar to systemtap)?
thank you very much!
justglusterfs@xxxxxxxxx
From: Krishnan ParthasarathiDate: 2014-05-13 13:38To: 陈陈CC: gluster-develSubject: Re: gluster IRC and use systemtap can't output glusterfs backtraceTo probe functions in specific translators you need tospecify the path to the corresponding .so file in the processprovider.For eg, to probe functions in fuse translator,stap -d /usr/local/sbin/glusterfs --ldd -e 'probe process("/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so").function("*"){print_ubacktrace()}'确实可以输出fuse模块的函数栈The following is the output I see, when I write files using dd ona GlusterFS native mount,<snip>0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]0x7f7977a1c834 : fuse_resolve+0x74/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]0x7f7977a1e4d0 : fuse_fd_ctx_get+0x0/0x40 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1c84c : fuse_resolve+0x8c/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]0x7f7977a1c1e0 : fuse_resolve_continue+0x0/0x100 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1c9f8 : fuse_resolve+0x238/0x4f0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd3e : fuse_resolve_all+0x8e/0xb0 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a1cd80 : fuse_resolve_and_resume+0x20/0x30 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x7f7977a3507e : fuse_thread_proc+0x2ae/0x690 [/usr/local/lib/glusterfs/3.5qa2/xlator/mount/fuse.so]0x31d8407c53 : start_thread+0xc3/0x310 [/usr/lib64/libpthread-2.17.so]0x31d7cf5e1d : clone+0x6d/0x90 [/usr/lib64/libc-2.17.so]</snip>Hope that helps,Krish----- Original Message -----> See inline for response.>> ----- Original Message -----> > hi everyone!> > I meet three question:> >> > question one:> >> > I use IRC client(mirc) config server is: irc.freenode.net or irc.gnu.org> > but always can't connect, follwing errors:> > Connect retry #1 irc,freenode,net (6667) (dns pool)> > unable to connect server (connect timed out)> >> >> >> > question two:> > I system is centos6.4,glusterfs version is 3.4.> > I want to use systemtap watch glusterfs function backtrace,> > when I configure glusterfs source code, execute the following operation:> > ./configure --enable--systemtap> > but checking dtrace happen error,because in my system,no dtrace,my> > question is --enable--systemtap why need dtrace? it must have dtrace?>> I think the systemtap folks have retained certain symbols from dtrace> so that code instrumented with systemtap user specified probes are compatible> with systems that have dtrace but not systemtap in them.>> >> > question three:> > when I do io test in glusterfs client. I execute following command:> > stap -d /usr/local/sbin/glusterfs --ldd -e 'probe> > process("glusterfs").function("*"){print_ubacktrace()}'> >> > the result is there is nothing output, and the stap command S state,> > no return.>> For 'process' systemtap provider, you don't need to compile glusterfs with> "--enable-systemtap". I am not sure why you are not seeing any of the probes> firing in your stap script. Let me try this same and share my results on this> thread.>> Hope that helps,> Krish>> >> > thank you answer me!> > _______________________________________________> > Gluster-devel mailing list> > Gluster-devel@xxxxxxxxxxx> > http://supercolony.gluster.org/mailman/listinfo/gluster-devel> >> _______________________________________________> Gluster-devel mailing list> Gluster-devel@xxxxxxxxxxx> http://supercolony.gluster.org/mailman/listinfo/gluster-devel>
_______________________________________________ Gluster-devel mailing list Gluster-devel@xxxxxxxxxxx http://supercolony.gluster.org/mailman/listinfo/gluster-devel