All proceeds from Ad Clicks goes to the author of this site.

 

Monday, May 29, 2006

What is Dtrace

This came up on osnews.com and I was bored so I decided to anwser the question with links availible from the web, this just scratches the service of what is out there. I've included real world examples of dtrace solving real problems. Not just what it can do, but what it has done.

Directly quoted from OpenSolaris DTrace community page

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 (either here or 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


Documentation:

The Dynamic tracing guide: http://docs.sun.com/app/docs/doc/817-6223

Dtrace Web cast: http://www.snpnet.com/sun_DTrace/dtrace.html

Brendan G. has released Dtrace Toolkit http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/ so that even the weekend developer or sysadmin can get interesting infrormation with dtrace.

Examples of it use. http://www.brendangregg.com/dtrace.html#Examples

One Line Dtrace scripts: http://blogs.sun.com/roller/page/bud?catname=%2Fone-line-dtrace



Language and application probe sets

Not only does Dtrace give access about the kernel, and your userland apps. You can extend it so that gives detailed look at other languages and applications with out all the low level clutter if you don't need it.

Java: http://blogs.sun.com/roller/page/kamg?entry=built_in_dtrace_probes_in

Ruby : http://blogs.sun.com/roller/page/bmc?entry=dtrace_on_rails

Php: http://blogs.sun.com/roller/page/bmc?entry=dtrace_and_php_demonstrated

Perl: http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl

Python: http://blogs.sun.com/roller/page/smg/20050510#beer_python_and_stuff

Apache: http://blogs.sun.com/roller/page/moazam?entry=when_apache_met_dtrace_meet

Xserver: http://blogs.sun.com/roller/page/alanc?entry=xserver_provider_for_dtrace&popup=true


Probes into Kernel Subsystems

brandZ : http://blogs.sun.com/roller/page/ahl?entry=dtrace_for_linux

NFS: http://blogs.sun.com/roller/page/samf?entry=a_dtrace_provider_for_nfs

SCSI: http://blogs.sun.com/roller/page/chrisg?entry=more_scsi_dtrace



Dtrace Solving real Problems:

Network streams: http://blogs.sun.com/roller/page/georges/20050614
Zones scaling problem: http://blogs.sun.com/roller/page/jclingan?entry=dtrace_and_determining_zones_limiting
Application Tuning: http://blogs.sun.com/roller/page/ahl?entry=dtrace_time
Gnome Load times: http://blogs.sun.com/roller/page/bmc?entry=using_dtrace_to_understand_gnome AutoMounter restarting: http://blogs.sun.com/roller/page/eschrock?catname=%2FDTrace
Finding Memory Leaks:
http://blogs.sun.com/roller/page/sanjeevb/20050614
NTP: http://blogs.sun.com/roller/page/blu?entry=tricky_problem_with_ntp
Java Applet: http://blogs.sun.com/roller/page/panni?entry=dtrace_classics
Mysterious linking problem: http://blogs.sun.com/roller/page/angelo?entry=dtrace_detective
Dtrace as a testing tool: http://blogs.sun.com/roller/page/jclingan?entry=dtrace_as_a_testing_tool
Libst problem: http://blogs.sun.com/roller/page/saurabh_mishra?entry=libst_so_problem
Timer problem: http://blogs.sun.com/roller/page/barts/20050614
Mozilla: http://blogs.sun.com/roller/page/ky?entry=dtrace_mozilla
StarOffice: http://blogs.sun.com/roller/page/simons?entry=dtrace_part_deux
Zone monitoring: http://blogs.sun.com/roller/page/menno/20050525
Andrew Tridgell's lock scaling problem: http://blogs.sun.com/roller/page/tpenta?entry=dtracing_a_problem_from_andrew
BONOBO:
http://blogs.sun.com/roller/page/bnitz?entry=bryan_s_dtrace_vs_gnome
setlocale: http://blogs.sun.com/roller/page/smg?entry=absent_leaves
Debugging without dtrace: http://blogs.sun.com/roller/page/uejio?entry=dtrace_for_s9_wish

Dtrace in Tech Media

ACM queue: http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=361

The Register:
http://www.theregister.co.uk/2004/07/08/dtrace_user_take/


3 Comments:

Anonymous Anonymous said...

James, thanks for posting the details. Well done. It's unfortunate that discussion groups often devolve into the licensing discussion with the primary topic being demoted to a secondary one.

John Clingan
Sun Microsystems

2:59 PM  
Blogger sjk said...

Hurray, a clear signal about DTrace instead of the distracting noise (e.g. @osnews). Thanks, james!

5:30 PM  
Blogger uiyui said...

This post has been removed by a blog administrator.

12:32 AM  

Post a Comment

<< Home