DTrace pid Provider Links
I’ve been writing posts to explain the DTrace pid provider. Not just its features, which are documented in many places, but also its hazards and limitations. Many of these I learned the hard way during the last six years of using this provider in test, development and production. The posts are:
- pid provider: entry probe
- pid provider: entry arguments
- pid provider: return
- pid provider: instructions
- pid provider: overhead
These may also serve as a practical introduction and tutorial to the pid provider.
I’ve been wanting to share some useful pid provider-based scripts, but first needed to explain some of the risks, as I have now done in these posts. You can really shoot yourself in the foot with this provider, especially regarding overhead in the short term and script stability in the longer term.
For advanced reading on the pid provider, see the following:
- pid provider exposed: internals by Adam Leventhal (creator of the pid provider)
- when magic collides: pid provider bug deep dive by Bryan Cantrill
To use this provider, you’ll need a system with DTrace and the pid provider, and privilege to use it (which usually means root access). Joyent SmartMachines typically have access to DTrace and the pid provider from the root account, and privileges can be configured for other accounts to use it.
In: DTrace · Tagged with: dtrace, joyent, pid provider
Notice: get_the_author_email is deprecated since version 2.8! Use get_the_author_meta('email') instead. in /home/knmngmprl21d/public_html/blogs/wp-includes/functions.php on line 3467
on February 19, 2011 at 3:42 pm
Permalink
[...] This post was mentioned on Twitter by OpenSolaris and gflarity, Brendan Gregg. Brendan Gregg said: Finished my practical intro to the dtrace pid provider http://bit.ly/dJQwta [...]
Notice: get_the_author_email is deprecated since version 2.8! Use get_the_author_meta('email') instead. in /home/knmngmprl21d/public_html/blogs/wp-includes/functions.php on line 3467
on May 18, 2011 at 1:15 pm
Permalink
[...] of an application to study I picked a busy MySQL server, and I’ll focus on using the DTrace pid provider to examine storage I/O. For an introduction to MySQL analysis with DTrace, see my earlier post on [...]
Notice: get_the_author_email is deprecated since version 2.8! Use get_the_author_meta('email') instead. in /home/knmngmprl21d/public_html/blogs/wp-includes/functions.php on line 3467
on May 24, 2011 at 10:38 pm
Permalink
[...] part 3). In the previous post I showed how to trace file system latency from within MySQL using the pid provider. In this post I’ll show how similar data can be retrieved using the DTrace syscall and fbt [...]
Notice: get_the_author_email is deprecated since version 2.8! Use get_the_author_meta('email') instead. in /home/knmngmprl21d/public_html/blogs/wp-includes/functions.php on line 3467
on November 30, 2011 at 9:49 am
Permalink
[...] application to study, I chose a busy MySQL production server, and I’ll focus on using the DTrace pid provider to examine storage I/O. For an introduction to MySQL analysis with DTrace, see my blog posts on [...]