dtracing ZFS on FreeBSD
Michael W. Lucas
mwlucas at michaelwlucas.com
Fri Feb 19 18:08:48 UTC 2016
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 at michaelwlucas.com, Twitter @mwlauthor
http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/
More information about the freebsd-fs
mailing list