]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
kv/RocksDBStore: add more perf counters to track compactions.
authorIgor Fedotov <ifedotov@suse.com>
Wed, 8 May 2024 17:06:11 +0000 (20:06 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Mon, 22 Jul 2024 18:32:07 +0000 (21:32 +0300)
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit 2e06b3dfac7c8deb2f9b7bd17faf9dff7617a4e1)

src/kv/RocksDBStore.cc
src/kv/RocksDBStore.h

index 1ad5a8c663cb85d4f4845a7adf5f6fb1297d987c..d9e72bb771d0af9dde3b635c359e3aa02f5432eb 100644 (file)
@@ -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;
     }
index 01c84f2d0b3def63c45b99b621edc9f7a23a23c3..a8468a25d4d4bc345cde3074864f9015589679e4 100644 (file)
@@ -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,