1N/AFaq - Frequently Asked Questions
1N/A
1N/A The following may serve as a guide to the DTraceToolkit.
1N/A
1N/A16-May-2005, ver 0.30 (first version of the FAQ)
1N/A
1N/AThe DTraceToolkit is new, and as such there hasn't been many questions asked.
1N/AThis may be better called a "possibly asked questions" :)
1N/A
1N/A
1N/AQuestions
1N/A
1N/A1. Intro
1N/A1.1. What is the DTraceToolkit?
1N/A1.2. Who wrote the DTraceToolkit?
1N/A1.3. Where do I get support?
1N/A1.4. Am I now a performance tuning expert?
1N/A1.5. Will this solve all my performance problems?
1N/A1.6. So the DTraceToolkit *is* DTrace?
1N/A
1N/A2. Toolkit
1N/A2.1. What is in it?
1N/A2.2. What performance effect can the DTraceToolkit cause?
1N/A
1N/A3. Contributing
1N/A3.1. Where do I send bugs?
1N/A
1N/A
1N/AAnswers
1N/A
1N/A1. Intro
1N/A
1N/A1.1. What is the DTraceToolkit?
1N/A
1N/A The DTraceToolkit is a collection of tools written using DTrace for
1N/A the Solaris 10[tm] OS by Sun Microsystems[tm]. Many of these scripts
1N/A will also work on OpenSolaris.
1N/A
1N/A1.2. Who wrote the DTraceToolkit?
1N/A
1N/A Volunteers of the DTrace and OpenSolaris community. Check the scripts
1N/A themselves, Docs/Contrib, Docs/Who and Docs/History.
1N/A
1N/A1.3. Where do I get support?
1N/A
1N/A As the DTraceToolkit is a freeware product, there is no official company
1N/A offering support for this. Sun Microsystems does not support this. If you
1N/A post messages to the DTrace forums found in the Docs/Links file, a
1N/A volunteer may help you out.
1N/A
1N/A1.4. Am I now a performance tuning expert?
1N/A
1N/A The DTraceToolkit does not turn people into performance tuning experts in
1N/A the same way that owning a set of golf clubs won't make you a professional
1N/A golfer. Experience and understanding are necessary. The toolkit certainly
1N/A helps by fetching the data in an easy way, and also by providing some
1N/A documentation. So it is valuable, but not magical.
1N/A
1N/A1.5. Will this solve all my performance problems?
1N/A
1N/A This is similar to the previous point; the DTraceToolkit is valuable
1N/A for it's scripts and documentation, but it's no magical product.
1N/A Understanding and experience are necessary.
1N/A
1N/A1.6. So the DTraceToolkit *is* DTrace?
1N/A
1N/A The DTraceToolkit is one use of DTrace, but there is far more to DTrace
1N/A than just the toolkit. DTrace allows people to write their own customised
1N/A scripts to solve a wide number of problems.
1N/A
1N/A Think of the DTraceToolkit as a starting point. Maybe your problem has
1N/A a solution in the kit. Maybe changing one of the toolkit programs slightly
1N/A is what you want. Finally you may need to write your script from scratch.
1N/A
1N/A
1N/A2. Toolkit
1N/A
1N/A2.1. What is in it?
1N/A
1N/A Read the Guide file for a table of contents, and Docs/Contents for a
1N/A list of commands.
1N/A
1N/A2.2. What performance effect can the DTraceToolkit cause?
1N/A
1N/A Enabling DTrace to monitor events has little effect on the system,
1N/A especially when compared to the disruptive behaviour of truss (See
1N/A http://www.brendangregg.com/DTrace/dtracevstruss.html for a comparison).
1N/A
1N/A It really boils down to how often the events occur that you are monitoring.
1N/A The following numbers have been provided as an approximation:
1N/A
1N/A 1. Fixed rate scripts. For example, dispqlen.d samples at 1000 hz.
1N/A The impact will be negligible, close to 0% CPU. (in testing, 0.1% CPU).
1N/A
1N/A 2. Demand rated scripts. For example, iosnoop probes disk I/O events.
1N/A The impact depends on the rate of events, for many servers the disk
1N/A events would be slow enough for this to be less than 0.2% CPU.
1N/A Scripts such as execsnoop would expect even fewer events, their impact
1N/A would be close to 0.0% CPU. However scripts that monitor potentially
1N/A very rapid events will have a greater impact, for example running
1N/A dapptrace on Xorg (over 6000 lines of output per second) was consuming
1N/A around 10% of a CPU to do so.
1N/A
1N/A 3. Heavy voodoo scripts. A few scripts in the toolkit must probe either
1N/A a ton of different events, or very rapid events, or both. They are
1N/A going to hurt and there is no way around it. Scripts such as cputimes
1N/A and cpudists trace very frequent events, and can chew around 5% of
1N/A the CPUs; scripts such as dapptrace and dappprof trace extreamly
1N/A frequent events, and can chew over 20%.
1N/A
1N/A There is an emphasis in the DTraceToolkit to write demand rated scripts
1N/A that measure the fewest events, such that their impact is close to 0.0%
1N/A CPU usage. Some scripts are fixed rate, which are safer as their impact
1N/A has a known upper bound, and are most suitable to run in production.
1N/A
1N/A There are additional notes in Notes/ALLoverhead_notes.txt about the
1N/A overheads for running DTrace.
1N/A
1N/A
1N/A3. Contributing
1N/A
1N/A3.1. Where do I send bugs?
1N/A
1N/A The DTraceToolkit maintainer. See the Docs/Maintainer file.
1N/A
1N/A