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>