diff options
author | Amitay Isaacs <amitay@gmail.com> | 2014-02-11 14:23:28 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2014-12-05 14:43:07 +0100 |
commit | a0628e317df76c7c38a7cca9c3090077fa352899 (patch) | |
tree | 124fe5cd36244c14b985402131b96e32e94ad084 | |
parent | 8f4813ff3070858cfa7e7da6fb703294bdedabed (diff) | |
download | samba-a0628e317df76c7c38a7cca9c3090077fa352899.tar.gz samba-a0628e317df76c7c38a7cca9c3090077fa352899.tar.xz samba-a0628e317df76c7c38a7cca9c3090077fa352899.zip |
ctdb-vacuum: Track time for vacuuming in database statistics
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
-rw-r--r-- | ctdb/include/ctdb_protocol.h | 3 | ||||
-rw-r--r-- | ctdb/server/ctdb_vacuum.c | 1 | ||||
-rw-r--r-- | ctdb/tools/ctdb.c | 8 |
3 files changed, 12 insertions, 0 deletions
diff --git a/ctdb/include/ctdb_protocol.h b/ctdb/include/ctdb_protocol.h index 725e426230..15d9fc5f65 100644 --- a/ctdb/include/ctdb_protocol.h +++ b/ctdb/include/ctdb_protocol.h @@ -717,6 +717,9 @@ struct ctdb_db_statistics { struct latency_counter latency; uint32_t buckets[MAX_COUNT_BUCKETS]; } locks; + struct { + struct latency_counter latency; + } vacuum; uint32_t db_ro_delegations; uint32_t db_ro_revokes; uint32_t hop_count_bucket[MAX_COUNT_BUCKETS]; diff --git a/ctdb/server/ctdb_vacuum.c b/ctdb/server/ctdb_vacuum.c index 35f1fe1bfb..8cd37aa831 100644 --- a/ctdb/server/ctdb_vacuum.c +++ b/ctdb/server/ctdb_vacuum.c @@ -1364,6 +1364,7 @@ static int vacuum_child_destructor(struct ctdb_vacuum_child_context *child_ctx) struct ctdb_db_context *ctdb_db = child_ctx->vacuum_handle->ctdb_db; struct ctdb_context *ctdb = ctdb_db->ctdb; + CTDB_UPDATE_DB_LATENCY(ctdb_db, "vacuum", vacuum.latency, l); DEBUG(DEBUG_INFO,("Vacuuming took %.3f seconds for database %s\n", l, ctdb_db->db_name)); if (child_ctx->child_pid != -1) { diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 5d5ce3cc9e..f0c87d91e5 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -725,6 +725,14 @@ static int control_dbstatistics(struct ctdb_context *ctdb, int argc, const char 0.0), dbstat->locks.latency.max, dbstat->locks.latency.num); + printf(" %-30s %.6f/%.6f/%.6f sec out of %d\n", + "vacuum_latency MIN/AVG/MAX", + dbstat->vacuum.latency.min, + (dbstat->vacuum.latency.num ? + dbstat->vacuum.latency.total /dbstat->vacuum.latency.num : + 0.0), + dbstat->vacuum.latency.max, + dbstat->vacuum.latency.num); num_hot_keys = 0; for (i=0; i<dbstat->num_hot_keys; i++) { if (dbstat->hot_keys[i].count > 0) { |