From owner-freebsd-current@FreeBSD.ORG Fri Feb 1 09:35:40 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3B8616A417 for ; Fri, 1 Feb 2008 09:35:40 +0000 (UTC) (envelope-from jb@what-creek.com) Received: from what-creek.com (what-creek.com [66.111.37.70]) by mx1.freebsd.org (Postfix) with ESMTP id 8547A13C448 for ; Fri, 1 Feb 2008 09:35:39 +0000 (UTC) (envelope-from jb@what-creek.com) Received: by what-creek.com (Postfix, from userid 102) id AAB19731B4; Fri, 1 Feb 2008 09:35:38 +0000 (GMT) Date: Fri, 1 Feb 2008 09:35:38 +0000 From: John Birrell To: current@freebsd.org Message-ID: <20080201093538.GA83169@what-creek.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Cc: Subject: DTrace/FreeBSD source snapshot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Feb 2008 09:35:40 -0000 [ amd64 and i386 users only ] Here is a link to a current snapshot containing DTrace: It's a big file, but for anyone who is interested, I can provide diffs in future from it. The source builds like a normal FreeBSD buildworld/buildkernel. If you want debug symbols built in, you must do it by setting DEBUG_FLAGS=-g in /etc/make.conf. Just trying to set the default CFLAGS to include -g won't work because the CTF tools (which create the CTF ELF segment that DTrace uses) will compile with -g anyway, and only if you have set DEBUG_FLAGS=-g will it leave the debug ELF sections, otherwise they will be deleted as part of the conversion. A "make universe" will work across all architectures. The machine dependent support for the kernel modules is only present for amd64 and i386. i386 needs more asm code to support the exceptions that the Function Boundary Trace (fbt) provider uses. The DTrace Test Suite can be run: cd src/tools/test/dtrace make cleandir && make obj && make all On amd64 all 822 tests should pass. Beware of the stress that some of the tests place the system under. It is best to avoid running too many other resource hungry apps at the same time. Also consider the likelihood of the system locking up. This is Alpha quality. :-) You can read the DTrace documentation online here: or you download the PDF file from there too. You can load the DTrace kernel modules from the bootloader. There are menu uptions for both single- and multi-user mode there. Alternately you can "kldload dtraceall" to load the full DTrace kernel module set. With the modules loaded, you are ready to run the (superuser) "dtrace" command line program.... see the documentation. Enjoy. -- John Birrell