@@ -1243,7 +1243,9 @@ int RocksDBStore::do_open(ostream &out,
12431243 plb.add_time_avg (l_rocksdb_submit_latency, " submit_latency" , " Submit Latency" );
12441244 plb.add_time_avg (l_rocksdb_submit_sync_latency, " submit_sync_latency" , " Submit Sync Latency" );
12451245 plb.add_u64_counter (l_rocksdb_compact, " compact" , " Compactions" );
1246- plb.add_u64_counter (l_rocksdb_compact_range, " compact_range" , " Compactions by range" );
1246+ plb.add_u64_counter (l_rocksdb_compact_running, " compact_running" , " Running compactions" );
1247+ plb.add_u64_counter (l_rocksdb_compact_completed, " compact_completed" , " Completed compactions" );
1248+ plb.add_time (l_rocksdb_compact_lasted, " compact_lasted" , " Last completed compaction duration" );
12471249 plb.add_u64_counter (l_rocksdb_compact_queue_merge, " compact_queue_merge" , " Mergings of ranges in compaction queue" );
12481250 plb.add_u64 (l_rocksdb_compact_queue_len, " compact_queue_len" , " Length of compaction queue" );
12491251 plb.add_time_avg (l_rocksdb_write_wal_time, " rocksdb_write_wal_time" , " Rocksdb write wal time" );
@@ -1988,6 +1990,7 @@ int RocksDBStore::split_key(rocksdb::Slice in, string *prefix, string *key)
19881990
19891991void RocksDBStore::compact ()
19901992{
1993+ dout (2 ) << __func__ << " starting" << dendl;
19911994 logger->inc (l_rocksdb_compact);
19921995 rocksdb::CompactRangeOptions options;
19931996 db->CompactRange (options, default_cf, nullptr , nullptr );
@@ -1999,6 +2002,7 @@ void RocksDBStore::compact()
19992002 nullptr , nullptr );
20002003 }
20012004 }
2005+ dout (2 ) << __func__ << " completed" << dendl;
20022006}
20032007
20042008void RocksDBStore::compact_thread_entry ()
@@ -2011,12 +2015,17 @@ void RocksDBStore::compact_thread_entry()
20112015 compact_queue.pop_front ();
20122016 logger->set (l_rocksdb_compact_queue_len, compact_queue.size ());
20132017 l.unlock ();
2014- logger->inc (l_rocksdb_compact_range);
2018+ logger->inc (l_rocksdb_compact_running);
2019+ auto start = ceph_clock_now ();
20152020 if (range.first .empty () && range.second .empty ()) {
20162021 compact ();
20172022 } else {
20182023 compact_range (range.first , range.second );
20192024 }
2025+ auto lat = ceph_clock_now () - start;
2026+ logger->dec (l_rocksdb_compact_running);
2027+ logger->inc (l_rocksdb_compact_completed);
2028+ logger->tset (l_rocksdb_compact_lasted, lat);
20202029 l.lock ();
20212030 continue ;
20222031 }
0 commit comments