From 2d37239a28b8b2ddc0e8312093f8d8810c6351fa Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 2 Oct 2013 11:43:52 -0700 Subject: Add visibility in to dmu_tx_assign times This change adds a new kstat to gain some visibility into the amount of time spent in each call to dmu_tx_assign. A histogram is exported via the new dmu_tx_assign file. The information contained in this histogram is the frequency dmu_tx_assign took to complete given an interval range. Signed-off-by: Prakash Surya Signed-off-by: Brian Behlendorf --- include/sys/spa.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/sys/spa.h b/include/sys/spa.h index 85a62588a..cb3ce11bc 100644 --- a/include/sys/spa.h +++ b/include/sys/spa.h @@ -549,6 +549,7 @@ typedef struct spa_stats_history { typedef struct spa_stats { spa_stats_history_t read_history; spa_stats_history_t txg_history; + spa_stats_history_t tx_assign_histogram; } spa_stats_t; typedef enum txg_state { @@ -568,6 +569,7 @@ extern int spa_txg_history_set(spa_t *spa, uint64_t txg, txg_state_t completed_state, hrtime_t completed_time); extern int spa_txg_history_set_io(spa_t *spa, uint64_t txg, uint64_t nread, uint64_t nwritten, uint64_t reads, uint64_t writes, uint64_t nreserved); +extern void spa_tx_assign_add_nsecs(spa_t *spa, uint64_t nsecs); /* Pool configuration locks */ extern int spa_config_tryenter(spa_t *spa, int locks, void *tag, krw_t rw); -- cgit v1.2.3