You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kvrocks.apache.org by tw...@apache.org on 2024/02/01 12:24:01 UTC

(kvrocks) branch unstable updated: Use human readable string instead of the integer when printing flush/compaction reason (#1962)

This is an automated email from the ASF dual-hosted git repository.

twice pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git


The following commit(s) were added to refs/heads/unstable by this push:
     new 40e996c3 Use human readable string instead of the integer when printing flush/compaction reason (#1962)
40e996c3 is described below

commit 40e996c346e8b10e539a1f2b9a8a0d94d6924fa6
Author: hulk <hu...@gmail.com>
AuthorDate: Thu Feb 1 20:23:56 2024 +0800

    Use human readable string instead of the integer when printing flush/compaction reason (#1962)
    
    Co-authored-by: Twice <tw...@apache.org>
---
 src/storage/event_listener.cc | 30 ++++++++++++++++++++++++++++--
 src/storage/event_listener.h  |  4 ++++
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/storage/event_listener.cc b/src/storage/event_listener.cc
index 8bc204f7..a32f8b70 100644
--- a/src/storage/event_listener.cc
+++ b/src/storage/event_listener.cc
@@ -75,9 +75,19 @@ bool IsDiskQuotaExceeded(const rocksdb::Status &bg_error) {
   return err_msg.find(exceeded_quota_str) != std::string::npos;
 }
 
+void EventListener::OnCompactionBegin(rocksdb::DB *db, const rocksdb::CompactionJobInfo &ci) {
+  LOG(INFO) << "[event_listener/compaction_begin] column family: " << ci.cf_name << ", job_id: " << ci.job_id
+            << ", compaction reason: " << rocksdb::GetCompactionReasonString(ci.compaction_reason)
+            << ", output compression type: " << CompressType2String(ci.compression)
+            << ", base input level(files): " << ci.base_input_level << "(" << ci.input_files.size() << ")"
+            << ", output level(files): " << ci.output_level << "(" << ci.output_files.size() << ")"
+            << ", input bytes: " << ci.stats.total_input_bytes << ", output bytes:" << ci.stats.total_output_bytes
+            << ", is_manual_compaction:" << (ci.stats.is_manual_compaction ? "yes" : "no");
+}
+
 void EventListener::OnCompactionCompleted(rocksdb::DB *db, const rocksdb::CompactionJobInfo &ci) {
   LOG(INFO) << "[event_listener/compaction_completed] column family: " << ci.cf_name << ", job_id: " << ci.job_id
-            << ", compaction reason: " << static_cast<int>(ci.compaction_reason)
+            << ", compaction reason: " << rocksdb::GetCompactionReasonString(ci.compaction_reason)
             << ", output compression type: " << CompressType2String(ci.compression)
             << ", base input level(files): " << ci.base_input_level << "(" << ci.input_files.size() << ")"
             << ", output level(files): " << ci.output_level << "(" << ci.output_files.size() << ")"
@@ -88,9 +98,25 @@ void EventListener::OnCompactionCompleted(rocksdb::DB *db, const rocksdb::Compac
   storage_->CheckDBSizeLimit();
 }
 
+void EventListener::OnSubcompactionBegin(const rocksdb::SubcompactionJobInfo &si) {
+  LOG(INFO) << "[event_listener/subcompaction_begin] column family: " << si.cf_name << ", job_id: " << si.job_id
+            << ", compaction reason: " << rocksdb::GetCompactionReasonString(si.compaction_reason)
+            << ", output compression type: " << CompressType2String(si.compression);
+}
+
+void EventListener::OnSubcompactionCompleted(const rocksdb::SubcompactionJobInfo &si) {
+  LOG(INFO) << "[event_listener/subcompaction_completed] column family: " << si.cf_name << ", job_id: " << si.job_id
+            << ", compaction reason: " << rocksdb::GetCompactionReasonString(si.compaction_reason)
+            << ", output compression type: " << CompressType2String(si.compression)
+            << ", base input level(files): " << si.base_input_level << ", output level(files): " << si.output_level
+            << ", input bytes: " << si.stats.total_input_bytes << ", output bytes:" << si.stats.total_output_bytes
+            << ", is_manual_compaction:" << (si.stats.is_manual_compaction ? "yes" : "no")
+            << ", elapsed(micro): " << si.stats.elapsed_micros;
+}
+
 void EventListener::OnFlushBegin(rocksdb::DB *db, const rocksdb::FlushJobInfo &fi) {
   LOG(INFO) << "[event_listener/flush_begin] column family: " << fi.cf_name << ", thread_id: " << fi.thread_id
-            << ", job_id: " << fi.job_id << ", reason: " << static_cast<int>(fi.flush_reason);
+            << ", job_id: " << fi.job_id << ", reason: " << rocksdb::GetFlushReasonString(fi.flush_reason);
 }
 
 void EventListener::OnFlushCompleted(rocksdb::DB *db, const rocksdb::FlushJobInfo &fi) {
diff --git a/src/storage/event_listener.h b/src/storage/event_listener.h
index 4cd1606f..3e978c23 100644
--- a/src/storage/event_listener.h
+++ b/src/storage/event_listener.h
@@ -31,7 +31,11 @@ class EventListener : public rocksdb::EventListener {
   ~EventListener() override = default;
   void OnFlushBegin(rocksdb::DB *db, const rocksdb::FlushJobInfo &fi) override;
   void OnFlushCompleted(rocksdb::DB *db, const rocksdb::FlushJobInfo &fi) override;
+  void OnCompactionBegin(rocksdb::DB *db, const rocksdb::CompactionJobInfo &ci) override;
   void OnCompactionCompleted(rocksdb::DB *db, const rocksdb::CompactionJobInfo &ci) override;
+  void OnSubcompactionBegin(const rocksdb::SubcompactionJobInfo &si) override;
+  void OnSubcompactionCompleted(const rocksdb::SubcompactionJobInfo &si) override;
+
   void OnBackgroundError(rocksdb::BackgroundErrorReason reason, rocksdb::Status *status) override;
   void OnTableFileDeleted(const rocksdb::TableFileDeletionInfo &info) override;
   void OnStallConditionsChanged(const rocksdb::WriteStallInfo &info) override;