Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Feb 2016 13:07:16 -0500
From:      "Michael W. Lucas" <mwlucas@michaelwlucas.com>
To:        fs@freebsd.org
Subject:   dtracing ZFS on FreeBSD
Message-ID:  <20160219180716.GA46881@mail.michaelwlucas.com>

next in thread | raw e-mail | index | archive | help
Hi,

I'm trying get Adam Leventhal's dtrace script for measuring latency
and number of operations on a pool
(http://dtrace.org/blogs/ahl/2014/08/31/openzfs-tuning/). Asking for
guidance here because it's a filesystem thing and the dtrace list is
dead.

The script is:

#pragma D option aggpack
#pragma D option quiet

fbt::vdev_queue_max_async_writes:entry
{
        self->spa = args[0];
}
fbt::vdev_queue_max_async_writes:return
/self->spa && self->spa->spa_name == $$1/
{
        @ = lquantize(args[1], 0, 30, 1);
}

tick-1s
{
        printa(@);
        clear(@);
}

fbt::vdev_queue_max_async_writes:return
/self->spa/
{
        self->spa = 0;
}
	
When I run it:

# dtrace -s q.d zroot

most lines look like this:

     min .--------------------------------. max      | count
     < 0 :                                : >= 30    | 0
dtrace: 15857 dynamic variable drops with non-empty dirty list

My reading of dtrace discussions says I'm losing data here. I suspect
this is the data I'm actually interested in.

Sometimes, the scale gets a marker on it. Pardon the weird characters:

     min .--------------------------------. max      | count
     < 0 :           █                    : >= 30    | 3438


Or there's

     min .--------------------------------. max      | count
     < 0 :        ▁▂▃▅                    : >= 30    | 19172
	  
Any thoughts on why?

Thanks,
==ml

-- 
Michael W. Lucas  -  mwlucas@michaelwlucas.com, Twitter @mwlauthor 
http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/



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