diff options
author | Brian Behlendorf <[email protected]> | 2013-10-02 11:43:52 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-10-25 13:57:25 -0700 |
commit | 2d37239a28b8b2ddc0e8312093f8d8810c6351fa (patch) | |
tree | 93885704a95285d91b28baca4df8fe57ea3efcf5 /include/sys/spa.h | |
parent | 0b1401ee911c5a0c0bdb7a8e6ad36840cea3af24 (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.h | 2 |
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); |