From: Igor Fedotov Date: Wed, 8 May 2024 17:06:11 +0000 (+0300) Subject: kv/RocksDBStore: add more perf counters to track compactions. X-Git-Tag: testing/wip-rishabh-testing-20240628.135345-debug~11^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2e06b3dfac7c8deb2f9b7bd17faf9dff7617a4e1;p=ceph-ci.git kv/RocksDBStore: add more perf counters to track compactions. Signed-off-by: Igor Fedotov --- diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc index 12723a8314d..a653fa6398c 100644 --- a/src/kv/RocksDBStore.cc +++ b/src/kv/RocksDBStore.cc @@ -1243,7 +1243,9 @@ int RocksDBStore::do_open(ostream &out, plb.add_time_avg(l_rocksdb_submit_latency, "submit_latency", "Submit Latency"); plb.add_time_avg(l_rocksdb_submit_sync_latency, "submit_sync_latency", "Submit Sync Latency"); plb.add_u64_counter(l_rocksdb_compact, "compact", "Compactions"); - plb.add_u64_counter(l_rocksdb_compact_range, "compact_range", "Compactions by range"); + plb.add_u64_counter(l_rocksdb_compact_running, "compact_running", "Running compactions"); + plb.add_u64_counter(l_rocksdb_compact_completed, "compact_completed", "Completed compactions"); + plb.add_time(l_rocksdb_compact_lasted, "compact_lasted", "Last completed compaction duration"); plb.add_u64_counter(l_rocksdb_compact_queue_merge, "compact_queue_merge", "Mergings of ranges in compaction queue"); plb.add_u64(l_rocksdb_compact_queue_len, "compact_queue_len", "Length of compaction queue"); plb.add_time_avg(l_rocksdb_write_wal_time, "rocksdb_write_wal_time", "Rocksdb write wal time"); @@ -2013,12 +2015,17 @@ void RocksDBStore::compact_thread_entry() compact_queue.pop_front(); logger->set(l_rocksdb_compact_queue_len, compact_queue.size()); l.unlock(); - logger->inc(l_rocksdb_compact_range); + logger->inc(l_rocksdb_compact_running); + auto start = ceph_clock_now(); if (range.first.empty() && range.second.empty()) { compact(); } else { compact_range(range.first, range.second); } + auto lat = ceph_clock_now() - start; + logger->dec(l_rocksdb_compact_running); + logger->inc(l_rocksdb_compact_completed); + logger->tset(l_rocksdb_compact_lasted, lat); l.lock(); continue; } diff --git a/src/kv/RocksDBStore.h b/src/kv/RocksDBStore.h index 01c84f2d0b3..a8468a25d4d 100644 --- a/src/kv/RocksDBStore.h +++ b/src/kv/RocksDBStore.h @@ -35,7 +35,9 @@ enum { l_rocksdb_submit_latency, l_rocksdb_submit_sync_latency, l_rocksdb_compact, - l_rocksdb_compact_range, + l_rocksdb_compact_running, + l_rocksdb_compact_completed, + l_rocksdb_compact_lasted, l_rocksdb_compact_queue_merge, l_rocksdb_compact_queue_len, l_rocksdb_write_wal_time,