On Mon, Aug 25, 2008 at 9:08 AM, Sanjeev <sanjeev.bagewadi at sun.com> wrote: > Amit, > > On Sun, Aug 24, 2008 at 11:26:19AM +0530, Amit k. Saha wrote: >> Hi! >> >> Basic DTrace doubts: >> >> >> Does all Solaris kernel modules 'export' DTrace probing points? If I >> am not clear, what I mean to ask is: All DTrace providers are kernel >> modules, is the vice-versa true? My guess is NO. > > All the kernel modules provide fbt probes... ie. all the routines in the > kernel > irrespective of which module they belong are fbt probes. > > So, you can trace any function call/return in the kernel. > > NOTE : There are exceptions here ;-) Routines which donot have a prelude which > DTrace uses to instrument then, such functions cannot be dtraced. > >> >> Is there any way to print the corresponding kernel module of a DTrace >> probes (dtrace -l)? What is the mapping like- 1:1 or n: 1 or 1:n ? > > With "dtrace -l" the module name is also listed (third column). > Also, for every probe that fires its module name is available in the > variable "probemod". So, you could do something like : > > # dtrace -n 'fbt:zfs:: {trace(probemod); }' > > In the above example I have enabled all the fbt probes of ZFS and when > I print (ie. trace()) it should print the module name, which is "zfs" here. > > Thanks and regards,
Thanks Sanjeev. -- Amit Kumar Saha http://blogs.sun.com/amitsaha/ http://amitksaha.blogspot.com Skype: amitkumarsaha