aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys/spa.h
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2013-10-02 11:43:52 -0700
committerBrian Behlendorf <[email protected]>2013-10-25 13:57:25 -0700
commit2d37239a28b8b2ddc0e8312093f8d8810c6351fa (patch)
tree93885704a95285d91b28baca4df8fe57ea3efcf5 /include/sys/spa.h
parent0b1401ee911c5a0c0bdb7a8e6ad36840cea3af24 (diff)
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 <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'include/sys/spa.h')
-rw-r--r--include/sys/spa.h2
1 files changed, 2 insertions, 0 deletions
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);