On 09.10.2013 23:25, Mark Johnston wrote:
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. ..."

I started looking at this but it is somewhat more work than expected:
Solaris has a specific vminfo interface in sysinfo.h. It looks very handy
for providing general vm statistics but our vm is different and I am
not sure we want to go into implementing such interface. It depends
on a VM guru, anyways.

OTOH, I found the fsinfo provider:

https://bitbucket.org/illumos/illumos-gate/commits/5b50c2dcfdf948c4e4f0b880eb76210067e7af7c

Our VFS does have some similarity so this may be easier/doable, plus
it may be needed by the scsi and ZFS providers.

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.

The Wiki would probably better while things settle.

Pedro.

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace
To unsubscribe, send any mail to "[email protected]"

Reply via email to