[dtrace-discuss] Dtrace and java 1.5

2009-09-09 Thread Hans-Peter Sloot
Hi, I have used dtrace in the past for diagnosing IO/filesystem related issues. So I am a bit familiar with dtrace scripts Now I want to diagnose performance problems in the java area. May be memory leak etc. The hotspot provider is not present. How can I get them? Does someone have any

Re: [dtrace-discuss] Dtrace and java 1.5

2009-09-09 Thread Hans-Peter Sloot
BTW I tried to understand the info on several websites but it has not become clear to me how to get the dvm or djvm providers. Regards Hans -- This message posted from opensolaris.org ___ dtrace-discuss mailing list dtrace-discuss@opensolaris.org

Re: [dtrace-discuss] access to c++ objects

2009-09-09 Thread Adam Leventhal
Hi Joel, Has anyone tried to access member fields of C++ objects from within DTrace? Can this be done? It can be done, but not easily. You'll need to figure out the byte offset and manually pull out the member. Adam -- Adam Leventhal, Fishworks

Re: [dtrace-discuss] access to c++ objects

2009-09-09 Thread Joel Reymont
What is the alternative then? A USDT probe for every kind of field access? Thanks, Joel On Sep 9, 2009, at 6:38 PM, Adam Leventhal wrote: It can be done, but not easily. You'll need to figure out the byte offset and manually pull out the member. --- fastest mac firefox!

[dtrace-discuss] what is the +hex in c++ stack traces?

2009-09-09 Thread Joel Reymont
What is the hex number after the method, e.g. +0x32f below? It matches arg0 and I suspect it's the c++ this pointer, aka hidden first argument. I would like to confirm, though. Thanks, Joel --- XUL`PresShell::ProcessReflowCommands(int)+0x32f

Re: [dtrace-discuss] what is the +hex in c++ stack traces?

2009-09-09 Thread Chad Mynhier
On Wed, Sep 9, 2009 at 1:42 PM, Joel Reymontjoe...@gmail.com wrote: What is the hex number after the method, e.g. +0x32f below? It matches arg0 and I suspect it's the c++ this pointer, aka hidden first argument. It matches arg0 to which probe? These look like function offsets. Chad I

Re: [dtrace-discuss] what is the +hex in c++ stack traces?

2009-09-09 Thread Jonathan Adams
On Wed, Sep 09, 2009 at 06:42:22PM +0100, Joel Reymont wrote: What is the hex number after the method, e.g. +0x32f below? It matches arg0 and I suspect it's the c++ this pointer, aka hidden first argument. No, it's far too small for that. It's the instruction pointer offset inside the

Re: [dtrace-discuss] what is the +hex in c++ stack traces?

2009-09-09 Thread Joel Reymont
On Sep 9, 2009, at 6:56 PM, Chad Mynhier wrote: It matches arg0 to which probe? These look like function offsets. The pid$target::*:entry one. --- fastest mac firefox! http://wagerlabs.com ___ dtrace-discuss mailing list

Re: [dtrace-discuss] what is the +hex in c++ stack traces?

2009-09-09 Thread David Lutz
Joel Reymont wrote: What is the hex number after the method, e.g. +0x32f below? The entries in a stack trace are the addresses of the instructions that are being executed, expressed as a symbolic address plus an offset. The +0x32f you mention is the offset. If you disassemble the object code,

Re: [dtrace-discuss] access to c++ objects

2009-09-09 Thread Adam Leventhal
What is the alternative then? As I said: find the byte offsets for the members you're interested in. Adam -- Adam Leventhal, Fishworks http://blogs.sun.com/ahl ___ dtrace-discuss mailing list dtrace-discuss@opensolaris.org

Re: [dtrace-discuss] dtrace overhead and proper measuring technique (simpler case)

2009-09-09 Thread Joel Reymont
This is another variation, a simpler one... ./d firefox-bin menu-construct.d startup.d stop-js.d dtrace -Zqw -x dynvarsize=64m -x evaltime=preinit -p 26656 -s menu- construct.d -s startup.d -s stop-js.d -s sigcont.d elapsed: 6.4350621ms cpu: 3.4218030ms count : 20 times Total:

Re: [dtrace-discuss] dtrace overhead and proper measuring technique

2009-09-09 Thread James McIlree
On Sep 9, 2009, at 12:47 PM, Joel Reymont wrote: I'm trying to time a function within Firefoxwith a pid$target probe [2]. e.g dtrace -Zqw -x dynvarsize=64m -x evaltime=preinit -p 13954 -s menu- construct.d -s sigcont.d elapsed: 12.7942481ms cpu: 7.7911194ms count : 40 times I'm

[dtrace-discuss] usdt probes vs pid$target

2009-09-09 Thread Joel Reymont
I added a couple of static probes to Firefox to measure actual work done. I could have used a pid$target probe with a function name but work is done within an if statement, which is where I placed the static probes. I'm wondering about my use, though. Is the following significantly more

Re: [dtrace-discuss] usdt probes vs pid$target

2009-09-09 Thread Joel Reymont
What about the expense of matching on the function name? You are saying that the kernel trap overwhelms that, right? On Sep 9, 2009, at 10:20 PM, Chad Mynhier wrote: No, it's not significantly more efficient. Both function entry/return probes and USDT probes involve replacing an instruction

Re: [dtrace-discuss] usdt probes vs pid$target

2009-09-09 Thread Joel Reymont
To be more explicit, my concerns are about the effect of function name entry/return probes vs static probes on elapsed time, as measured by timestamp. I'm viewing all my timings as a percentage of total elapsed time and I'm wondering if there's less overhead in using static probes in this

Re: [dtrace-discuss] dtrace overhead and proper measuring technique

2009-09-09 Thread James McIlree
On Sep 9, 2009, at 2:02 PM, Joel Reymont wrote: James, On Sep 9, 2009, at 9:58 PM, James McIlree wrote: I think the extra startup time you are seeing is related to dtrace processing the newly loaded libraries. Can this be worked around by using evaltime=postinit or, perhaps,

Re: [dtrace-discuss] usdt probes vs pid$target

2009-09-09 Thread James McIlree
On Sep 9, 2009, at 2:10 PM, Joel Reymont wrote: I'm wondering about my use, though. Is the following significantly more efficient than pid$target::FunName:entry and return? The cost of the actual probe firing is the same. The *eval-time* cost of finding out which probes exist and

Re: [dtrace-discuss] dtrace overhead and proper measuring technique

2009-09-09 Thread Joel Reymont
James, I thought preinit was the standard evaltime. Am I wrong? Is it different on Snow Leoapard? Thanks, Joel You can pay this cost all at once (let dtrace do all the work up front, with the standard evaltime), or in small pieces as individual libraries are loaded (-

Re: [dtrace-discuss] dtrace overhead and proper measuring technique

2009-09-09 Thread James McIlree
On Sep 9, 2009, at 3:18 PM, Joel Reymont wrote: James, I thought preinit was the standard evaltime. Am I wrong? Is it different on Snow Leoapard? I believe it is postinit on SnowLeopard. James M ___ dtrace-discuss mailing list