mirror_zfs/module
Matthew Ahrens 2ac90457f5
record ioctl elapsed time in zpool history
Each zfs ioctl that changes on-disk state (e.g. set property, create
snapshot, destroy filesystem) is recorded in the zpool history, and is
printed by `zpool history -i`.

For performance diagnostic purposes, it would be useful to know how long
each of these ioctls took to run.  This commit adds that functionality,
with a new `ZPOOL_HIST_ELAPSED_NS` member of the history nvlist.

Additionally, the time recorded in this history log is currently the
time that the history record is written to disk.  But in many cases (CLI
args logging and ioctl logging), this happens asynchronously,
potentially many seconds after the operation completed.  This commit
changes the timestamp to reflect when the history event was created,
rather than when it was written to disk.

Reviewed-by: Mark Maybee <mmaybee@cray.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #11440
2021-01-11 09:29:25 -08:00
..
avl Links in Source Files 2020-09-02 09:42:12 -07:00
icp Introduce CPU_SEQID_UNSTABLE 2020-11-02 11:51:12 -08:00
lua lua: avoid gcc -Wreturn-local-addr bug 2020-12-15 09:20:48 -08:00
nvpair Links in Source Files 2020-09-02 09:42:12 -07:00
os VZ 7 kernel compat: introduce ITER-enabled .direct_IO() via IOVECs 2020-12-30 14:18:29 -08:00
spl Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
unicode Throw const on some strings 2020-10-02 17:44:10 -07:00
zcommon Linux 5.10 compat: use iov_iter in uio structure 2020-12-18 08:48:26 -08:00
zfs record ioctl elapsed time in zpool history 2021-01-11 09:29:25 -08:00
zstd Optimize locking checks in mempool allocator 2020-11-02 12:10:07 -08:00
.gitignore Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
Kbuild.in Add zstd support to zfs 2020-08-20 10:30:06 -07:00
Makefile.bsd FreeBSD: decouple ZFS_DEBUG from kernel debug settings 2020-11-24 09:16:46 -08:00
Makefile.in Fix Linux modules uninstall 2020-10-08 20:07:10 -07:00