Slashdot Mirror


Solaris' Dtrace in Detail

paulkoan writes "The Register has a further details about the new Dtrace systems utility bundled with Solaris 10, along with pictures of the authors, and user testimonials. It also highlights Suns vague assurances that this (if it lives up to the hype) amazing utility may or may not end up in the public domain."

7 of 212 comments (clear)

  1. Re:And what is DTrace? by davecb · · Score: 5, Informative

    It's a mechanism for adding trace calls to pretty-nearly-arbitrary locations.

    --
    davecb@spamcop.net
  2. other resource by SubtleNuance · · Score: 5, Informative

    An excellent article at sys admin mag.

  3. Re:And what is DTrace? by int19 · · Score: 5, Informative

    It is much, much more than that. The problem I find with a "well-sorted collection of individual tools" in this case is the complexity/difficulty/impossibility to do what dtrace can do. Check out this usenet posting for some examples.

    I've been using it for a little while, it's a very interesting tool.

  4. Understanding and using Dtrace by ChrisRijk · · Score: 5, Informative

    Dynamic Instrumentation of Production Systems - this paper was presented at Usenix, and describes how Dtrace is actually implemented.

    Dtrace user guide.

    A collection of Dtrace scripts

  5. Re:Kprobes and Dprobes by Dug · · Score: 5, Informative
    The Usenix paper has some detail on the differences.

    Dtrace Usenix Paper

    More examples in answerbook from the BigAdmin Dtrace page

  6. Re:Exists already in Linux kernel by movement · · Score: 5, Informative

    I wrote OProfile, and I currently use DTrace daily, and I can assure you that you are wrong when you claim they do the same thing.

    OProfile is useful for measuring system-wide resource consumers (for example, you can see what pieces of code are causing cache misses in the kernel when your apache process is in the kernel etc, or which user processes take up the most CPU time).

    DTrace can also do something similar (though it needs a little more work yet). But DTrace does a LOT more than this. Imagine a system-wide (kernel, binaries, libraries) 'strace', where you can trivially choose what to print out, and what parts to strace, and under what circumstances. DTrace does even more than that.

    OProfile can't tell you exactly why your system call is returning EINVAL. OProfile can't tell you why your application is causing cross-calls. OProfile can't tell you what processes are writing to what files, in real time. OProfile can't debug race conditions.

    OProfile is a profiler: it does its job and nothing more. DTrace is, essentially, an instrumentation suite; one of its abilities is to function as a simple profiler.

    You won't really get a notion of why DTrace is so useful until you try it.

    --
    -- Remove the trailing '\0' to email me.
  7. Re:Other tools that do this. by Dug · · Score: 5, Informative
    Check out the Dtrace Usenix paper "Dynamic Instrumentation of Production Systems".

    This paragraph is copied from the Related Work section.

    Kerninst is a dynamic instrumentation framework that is designed for use on commodity operating system kernels[13]. Kerninst achieves zero probe effect when disabled, and allows instrumentation of virtually any text in the kernel. However, Kerninst is highly aggressive in its instrumentation; users can erroneously induce a fatal error by accidentally instrumenting routines that are not actually safe to instrument.3 Kerninst allows for some coalesence of data, but data may not be aggregated based on arbitrary tuples. Kerninst has some predicate support, but it does not allow for arbitrary predicates and has no support for arbitrary actions.