Friday, April 4, 2008

more DTrace

Brendan Gregg's Homepage

http://brendangregg.com/


Top Ten DTrace (D) Scripts

DTrace is a comprehensive and flexible dynamic tracing facility built into the Solaris Operating System. DTrace allows dynamic instrumentation of a running Solaris system, which can assist with answering questions like "which process is chewing up CPU 38," or "which user is causing the cross-call activity on CPU 6," or "which setuid binaries are being executed?"

DTrace uses a scripting language called "D," which uses a syntax very similar to C and Awk. Several amazing D scripts have been developed and distributed through the Internet, so I thought I would share my favorite D scripts in a Letterman like "Top 10" format:

http://prefetch.net/articles/solaris.dtracetopten.html

Observing I/O Behavior with the DTraceToolkit

http://prefetch.net/articles/observeiodtk.html


DTrace user's guide http://docs.sun.com/app/docs/doc/817-6223/

DTrace Toolkit http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/


DTrace presentation [FIRST look at this]

http://www.nbl.fi/~nbl97/solaris/dtrace/dtt_present.pdf


OpenSolaris Community: DTrace


OpenSolaris Community: DTrace

http://www.opensolaris.org/os/community/dtrace/

Endorsed projects

Chime Visualization Tool for DTrace
DTrace Provider for NFSv4
Mozilla DTrace

An Overview of DTrace

DTrace is a comprehensive dynamic tracing framework for the Solaris™ Operating Environment. DTrace provides a powerful infrastructure to permit administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs.

The Solaris™ Dynamic Tracing Guide describes how to use DTrace to observe, debug and tune system behavior. The Solaris™ Dynamic Tracing (DTrace) Guide (here), also includes a complete reference for bundled DTrace observability tools and the D programming language.

For Users:

  • dynamically enable and manage thousands of probes
  • dynamically associate predicates and actions with probes
  • dynamically manage trace buffers and probe overhead
  • examine trace data from a live system or from a system crash dump

For Solaris™ Developers:

  • implement new trace data providers that plug into DTrace
  • implement trace data consumers that provide data display
  • implement tools that configure DTrace probes




No comments: