Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Oct 2013 00:25:45 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Pedro Giffuni <pfg@FreeBSD.org>
Cc:        dtrace@FreeBSD.org
Subject:   Re: Dtrace providers wanted list
Message-ID:  <20131010042544.GB65451@raichu>
In-Reply-To: <52546385.2050203@FreeBSD.org>
References:  <52546385.2050203@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 08, 2013 at 02:56:53PM -0500, Pedro Giffuni wrote:
> Hello;
> 
> Sometime ago I looked around the list of Oracle's DTrace providers.
> 
> https://wikis.oracle.com/display/DTrace/Providers
> 
> We absolutely want them and although extremely useful as it is, DTrace 
> won't be complete until we have them all ;). For the time being we 
> should probably focus on getting the really critical ones though.
> 
> The first in the list that we don't have that I think is critical is 
> mentioned in Brendan Gregg's FreeBSD specific blog post:
> 
> http://dtrace.org/blogs/brendan/2013/09/25/the-use-method-freebsd-performance-checklist/
> 
> "Tracing paging is tricker until the vminfo provider is added; you could 
> try tracing from swap_pager_putpages() and swap_pager_getpages(), but I 
> didn’t see an easy way to walk back to a thread struct; another approach 
> may be via vm_fault_hold(). Good luck. ..."
> 
> 
> Next in the list would be a scsi provider. I came out with this 
> introductory post to the scsi list a while ago:
> 
> http://docs.freebsd.org/cgi/mid.cgi?51870B8F.5040306
> 
> There is more documentation on the net for the specific iscsi provider. 
> For example:
> 
> http://dtrace.org/blogs/ahl/2007/07/04/iscsi-dtrace-provider-and-more-to-come/
> http://www.solarisinternals.com/wiki/index.php/DTrace_Topics_iSCSI
> 
> 
> The third critical provider that IMHO we must have is the CPU 
> Performance Counter (CPC) Provider:
> https://blogs.oracle.com/jonh/entry/finally_dtrace_meets_the_cpu

I've started working on this one, but I don't have much to say about it
yet.

> 
> This is closely related to pmc(3) but obviously our implementation is 
> completely different from the Solaris one.
> 
> 
> Well, just though I should share the above links in the hope of 
> motivating more DTrace provider porting. At this time our base Dtrace 
> port is pretty good but we have the chicken and egg problem where 
> developers don't know how useful DTrace really is because there is no 
> provider for their code.

I think it's also important to have more and better documentation of
existing providers. More providers are nice, but they're not as useful
when their existence is not widely known or it's not clear how they
might be used.

I don't really like having links to an Oracle wiki page at least partly
because none of the FreeBSD ports of those providers are 100% compatible.
I've started writing man pages for the network providers; an example is
here:

http://people.freebsd.org/~markj/dtrace/dtrace-ip.4.txt

But I'm open to other forms of documentation as well.

-Mark



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131010042544.GB65451>