Getting started with DTrace in FreeBSD-current (a.k.a. 8)

Roman Divacky rdivacky at freebsd.org
Wed Jun 11 08:08:05 UTC 2008


On Wed, Jun 11, 2008 at 05:12:57AM +0000, John Birrell wrote:
> 
> It's been a few weeks now since I committed DTrace support to current.
> 
> I did this without a headsup message to this list to give the early
> adopters a chance to try it before exposing it to the world at large.
> 
> Those who follow the committers mailing list will have seen a lot
> of commits to get all the changes into the tree.
> 
> As of now, the code is in the tree to build the tools required for
> DTrace support and the DTrace kernel modules.
> 
> For the uninitiated, DTrace uses Compact C Type Format (CTF) data in
> executables (both userspace and kernel modules). This CTF data is added
> to the binaries by the build tools 'ctfconvert' and 'ctfmerge'.
> ctfconvert parses DWARF debug ELF sections created by the compiler and
> ctfmerge merges CTF ELF sections from objects into either executables
> or shared libraries. 
> 
> To start using DTrace to trace stuff in the kernel (userland tracing
> isn't supported yet), here's what you need to do:
>  
> 1.  Grab the latest current sources for the entire src tree.
> 2.  Do a 'make buildworld' of those sources on either a -current system
>     or a releng7 system.
> 3.  Add 'options KDTRACE_HOOKS' and 'options DDB_CTF' to your kernel
>     config file (on i386 or amd64; users of other arches can go watch
>     a movie instead).
> 4.  Do a 'make WITH_CTF=1 buildkernel && make installkernel'

are you going to make this default? if so.. when? is there userland
tracing work in progress?

thnx for your fantastic work!

roman


More information about the freebsd-current mailing list