G''Day Folks, I''ve finally typed up my classic DTrace demo, which I use to introduce people to DTrace (I delivered this at SOSUG#1), http://www.brendangregg.com/DTrace/dtracevstruss.html Here I create a fault and show the difficulty in analysing it using previous tools. Then I compare the impact of analysing the problem using both DTrace and truss. DTrace wins (a lot!). Thanks to the PAE guys from Adelaide for suggesting to run sar -c, it''s the icing on the cake. :) cheers, Brendan [Sydney, Australia]
> G''Day Folks, > > I''ve finally typed up my classic DTrace demo, which I use to introduce > people to DTrace (I delivered this at SOSUG#1), > > http://www.brendangregg.com/DTrace/dtracevstruss.html > > Here I create a fault and show the difficulty in analysing it using > previous tools. Then I compare the impact of analysing the problem > using both DTrace and truss. DTrace wins (a lot!).Brendan this is great work (as always). Hopefully it won''t take long for this page to show up as the top hit when googling "truss dtrace"! - Bryan -------------------------------------------------------------------------- Bryan Cantrill, Solaris Kernel Development. http://blogs.sun.com/bmc
Hi, Nice review truss/dtrace. DTrace is a big winner against truss due its dynamic nature. Truss must stop/resume the target in order to get the information needed. Is this right ? Stefan This message posted from opensolaris.org
2005/9/10, Bryan Cantrill <bmc at zion.eng.sun.com>:> > > G''Day Folks, > > > > I''ve finally typed up my classic DTrace demo, which I use to introduce > > people to DTrace (I delivered this at SOSUG#1), > > > > http://www.brendangregg.com/DTrace/dtracevstruss.html > > > > Here I create a fault and show the difficulty in analysing it using > > previous tools. Then I compare the impact of analysing the problem > > using both DTrace and truss. DTrace wins (a lot!). > > Brendan this is great work (as always). Hopefully it won''t take long for > this page to show up as the top hit when googling "truss dtrace"! > > - Bryan > > -------------------------------------------------------------------------- > Bryan Cantrill, Solaris Kernel Development. http://blogs.sun.com/bmcGoogle weighs heavily on links to other peoples'' sites for relevancy on search hits. If you link his page from your blog, it''ll get up to the top a lot more quickly. I think we should as a community do more of this to promote this kind of stuff happening -- though I think that in general we''re already doing a very good job at spreading the word about what''s going on :) In short -- keep it up! Indeed, this is a great presentation Brendan. --Devon
> DTrace is a big winner against truss due its dynamic nature.It depends what you''re doing. DTrace and truss aren''t in competition; they solve different problems.> Truss must stop/resume the target in order to get the information needed.Right. This approach can be quite powerful. With truss -T, for example, you can stop a process when it executes a specific system call. With the process stopped, you can pstack(1) it, attach a debugger to it, etc. Roger Faulkner, inventor of both truss and /proc, is fond of saying: "truss was designed to be a simple test of /proc. It was never intended to be useful." Over the last 20 years truss has evolved from useful to indispensable, but the point remains: it''s really all about /proc, exposing the process model, and manipulating and debugging processes. Statistics, tracing, and debugging are certainly related, but they''re different enough that they require different tools. It''s a rare day that I don''t use vmstat, dtrace, mdb, and truss at least once -- each. I woudn''t trade one for another; I treasure them all. Jeff
> > Google weighs heavily on links to other peoples'' sites for relevancy > on search hits. If you link his page from your blog, it''ll get up to > the top a lot more quickly. I think we should as a community do more > of this to promote this kind of stuff happening -- though I think that > in general we''re already doing a very good job at spreading the word > about what''s going on :)I''ve also posted this to BigAdmin as a resource and as the MOTD tomorrow morning - so should see it then. Thanks. Great resource... -- Robert B. Weeks CNS - BigAdmin * SCP
Jeff Bonwick''s email at 9/11/2005 2:53 AM, said:> Statistics, tracing, and debugging are certainly related, but they''re > different enough that they require different tools. It''s a rare day > that I don''t use vmstat, dtrace, mdb, and truss at least once -- each. > I woudn''t trade one for another; I treasure them all. >Agreed. I still lean heavily on truss for the wonderfulness that is ''-v''. Letting truss do the heavy lifting of decoding the arguments can save your sanity. Thanks, Jarod
G''Day Jeff, On Sun, 11 Sep 2005, Jeff Bonwick wrote:> > DTrace is a big winner against truss due its dynamic nature. > > It depends what you''re doing. DTrace and truss aren''t in competition; > they solve different problems. > > > Truss must stop/resume the target in order to get the information needed. > > Right. This approach can be quite powerful. With truss -T, for example, > you can stop a process when it executes a specific system call. With the > process stopped, you can pstack(1) it, attach a debugger to it, etc. > > Roger Faulkner, inventor of both truss and /proc, is fond of saying: > "truss was designed to be a simple test of /proc. It was never intended > to be useful." Over the last 20 years truss has evolved from useful > to indispensable, but the point remains: it''s really all about /proc, > exposing the process model, and manipulating and debugging processes.Ahh - thanks! I''ve been wondering who the original author of truss was (I love Unix history - especially who wrote what. If I were home in Sydney I''d lookup Life with Unix...)> Statistics, tracing, and debugging are certainly related, but they''re > different enough that they require different tools. It''s a rare day > that I don''t use vmstat, dtrace, mdb, and truss at least once -- each. > I woudn''t trade one for another; I treasure them all.Yes, I think it makes sense to use the Kstat tools for identification, then DTrace for analysis. I''ll also type "truss -ftopen" out of habit for a few years still. :) Brendan
Hi All, I am working on a problem that involves ypserv(1M), and in particular passing the arguments ypserv -Ir. The basic issue I am seeing is that I am unable to use NIS/LDAP to populate group data. All other maps work just fine. So, I would want to use Dtrace to find out what exactly is happening here. Can someone please offer some help and advice on how this can be achieved using Dtrace? Many thanks indeed. -- Best Regards -Michael Sun Microsystems, Inc.