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

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 95073053bc2 [chore] Add bvar for meta operations of BE (#28374)
95073053bc2 is described below

commit 95073053bc28be8a696fd4781cafc0f746f00a51
Author: Gavin Chou <gavineaglec...@gmail.com>
AuthorDate: Tue Dec 19 15:54:19 2023 +0800

    [chore] Add bvar for meta operations of BE (#28374)
---
 be/src/olap/olap_meta.cpp     | 35 ++++++++++++-----------------------
 be/src/util/doris_metrics.cpp | 15 ---------------
 be/src/util/doris_metrics.h   |  5 -----
 3 files changed, 12 insertions(+), 43 deletions(-)

diff --git a/be/src/olap/olap_meta.cpp b/be/src/olap/olap_meta.cpp
index f393d4a2629..58a5123993a 100644
--- a/be/src/olap/olap_meta.cpp
+++ b/be/src/olap/olap_meta.cpp
@@ -17,6 +17,7 @@
 
 #include "olap/olap_meta.h"
 
+#include <bvar/latency_recorder.h>
 #include <fmt/format.h>
 #include <fmt/ranges.h>
 #include <rocksdb/env.h>
@@ -56,6 +57,10 @@ using namespace ErrorCode;
 const std::string META_POSTFIX = "/meta";
 const size_t PREFIX_LENGTH = 4;
 
+bvar::LatencyRecorder g_meta_put_latency("meta_put");
+bvar::LatencyRecorder g_meta_get_latency("meta_get");
+bvar::LatencyRecorder g_meta_remove_latency("meta_remove");
+
 OlapMeta::OlapMeta(const std::string& root_path) : _root_path(root_path) {}
 
 OlapMeta::~OlapMeta() = default;
@@ -117,7 +122,6 @@ Status OlapMeta::init() {
 }
 
 Status OlapMeta::get(const int column_family_index, const std::string& key, 
std::string* value) {
-    DorisMetrics::instance()->meta_read_request_total->increment(1);
     auto& handle = _handles[column_family_index];
     int64_t duration_ns = 0;
     rocksdb::Status s;
@@ -125,7 +129,7 @@ Status OlapMeta::get(const int column_family_index, const 
std::string& key, std:
         SCOPED_RAW_TIMER(&duration_ns);
         s = _db->Get(ReadOptions(), handle.get(), rocksdb::Slice(key), value);
     }
-    
DorisMetrics::instance()->meta_read_request_duration_us->increment(duration_ns 
/ 1000);
+    g_meta_get_latency << (duration_ns / 1000);
     if (s.IsNotFound()) {
         return Status::Error<META_KEY_NOT_FOUND>("OlapMeta::get meet not found 
key");
     } else if (!s.ok()) {
@@ -137,7 +141,6 @@ Status OlapMeta::get(const int column_family_index, const 
std::string& key, std:
 
 bool OlapMeta::key_may_exist(const int column_family_index, const std::string& 
key,
                              std::string* value) {
-    DorisMetrics::instance()->meta_read_request_total->increment(1);
     auto& handle = _handles[column_family_index];
     int64_t duration_ns = 0;
     bool is_exist = false;
@@ -145,15 +148,13 @@ bool OlapMeta::key_may_exist(const int 
column_family_index, const std::string& k
         SCOPED_RAW_TIMER(&duration_ns);
         is_exist = _db->KeyMayExist(ReadOptions(), handle.get(), 
rocksdb::Slice(key), value);
     }
-    
DorisMetrics::instance()->meta_read_request_duration_us->increment(duration_ns 
/ 1000);
+    g_meta_get_latency << (duration_ns / 1000);
 
     return is_exist;
 }
 
 Status OlapMeta::put(const int column_family_index, const std::string& key,
                      const std::string& value) {
-    DorisMetrics::instance()->meta_write_request_total->increment(1);
-
     // log all params
     VLOG_DEBUG << "column_family_index: " << column_family_index << ", key: " 
<< key
                << ", value: " << value;
@@ -162,9 +163,7 @@ Status OlapMeta::put(const int column_family_index, const 
std::string& key,
     rocksdb::Status s;
     {
         int64_t duration_ns = 0;
-        Defer defer([&] {
-            
DorisMetrics::instance()->meta_write_request_duration_us->increment(duration_ns 
/ 1000);
-        });
+        Defer defer([&] { g_meta_put_latency << (duration_ns / 1000); });
         SCOPED_RAW_TIMER(&duration_ns);
 
         WriteOptions write_options;
@@ -180,15 +179,11 @@ Status OlapMeta::put(const int column_family_index, const 
std::string& key,
 }
 
 Status OlapMeta::put(const int column_family_index, const 
std::vector<BatchEntry>& entries) {
-    DorisMetrics::instance()->meta_write_request_total->increment(1);
-
     auto* handle = _handles[column_family_index].get();
     rocksdb::Status s;
     {
         int64_t duration_ns = 0;
-        Defer defer([&] {
-            
DorisMetrics::instance()->meta_write_request_duration_us->increment(duration_ns 
/ 1000);
-        });
+        Defer defer([&] { g_meta_put_latency << (duration_ns / 1000); });
         SCOPED_RAW_TIMER(&duration_ns);
 
         // construct write batch
@@ -212,14 +207,10 @@ Status OlapMeta::put(const int column_family_index, const 
std::vector<BatchEntry
 }
 
 Status OlapMeta::put(rocksdb::WriteBatch* batch) {
-    DorisMetrics::instance()->meta_write_request_total->increment(1);
-
     rocksdb::Status s;
     {
         int64_t duration_ns = 0;
-        Defer defer([&] {
-            
DorisMetrics::instance()->meta_write_request_duration_us->increment(duration_ns 
/ 1000);
-        });
+        Defer defer([&] { g_meta_put_latency << (duration_ns / 1000); });
         SCOPED_RAW_TIMER(&duration_ns);
 
         WriteOptions write_options;
@@ -234,7 +225,6 @@ Status OlapMeta::put(rocksdb::WriteBatch* batch) {
 }
 
 Status OlapMeta::remove(const int column_family_index, const std::string& key) 
{
-    DorisMetrics::instance()->meta_write_request_total->increment(1);
     auto& handle = _handles[column_family_index];
     rocksdb::Status s;
     int64_t duration_ns = 0;
@@ -244,7 +234,7 @@ Status OlapMeta::remove(const int column_family_index, 
const std::string& key) {
         write_options.sync = config::sync_tablet_meta;
         s = _db->Delete(write_options, handle.get(), rocksdb::Slice(key));
     }
-    
DorisMetrics::instance()->meta_write_request_duration_us->increment(duration_ns 
/ 1000);
+    g_meta_remove_latency << (duration_ns / 1000);
     if (!s.ok()) {
         return Status::Error<META_DELETE_ERROR>("rocks db delete key: {}, 
failed, reason: {}", key,
                                                 s.ToString());
@@ -253,7 +243,6 @@ Status OlapMeta::remove(const int column_family_index, 
const std::string& key) {
 }
 
 Status OlapMeta::remove(const int column_family_index, const 
std::vector<std::string>& keys) {
-    DorisMetrics::instance()->meta_write_request_total->increment(1);
     auto& handle = _handles[column_family_index];
     rocksdb::Status s;
     int64_t duration_ns = 0;
@@ -267,7 +256,7 @@ Status OlapMeta::remove(const int column_family_index, 
const std::vector<std::st
         }
         s = _db->Write(write_options, &batch);
     }
-    
DorisMetrics::instance()->meta_write_request_duration_us->increment(duration_ns 
/ 1000);
+    g_meta_remove_latency << (duration_ns / 1000);
     if (!s.ok()) {
         return Status::Error<META_DELETE_ERROR>("rocks db delete keys:{} 
failed, reason:{}", keys,
                                                 s.ToString());
diff --git a/be/src/util/doris_metrics.cpp b/be/src/util/doris_metrics.cpp
index 53ae69e6db2..0773ed68bd5 100644
--- a/be/src/util/doris_metrics.cpp
+++ b/be/src/util/doris_metrics.cpp
@@ -92,16 +92,6 @@ 
DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(base_compaction_bytes_total, MetricUnit::BY
 DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(cumulative_compaction_bytes_total, 
MetricUnit::BYTES, "",
                                      compaction_bytes_total, Labels({{"type", 
"cumulative"}}));
 
-DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(meta_write_request_total, 
MetricUnit::REQUESTS, "",
-                                     meta_request_total, Labels({{"type", 
"write"}}));
-DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(meta_read_request_total, 
MetricUnit::REQUESTS, "",
-                                     meta_request_total, Labels({{"type", 
"read"}}));
-
-DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(meta_write_request_duration_us, 
MetricUnit::MICROSECONDS, "",
-                                     meta_request_duration, Labels({{"type", 
"write"}}));
-DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(meta_read_request_duration_us, 
MetricUnit::MICROSECONDS, "",
-                                     meta_request_duration, Labels({{"type", 
"read"}}));
-
 DEFINE_COUNTER_METRIC_PROTOTYPE_5ARG(segment_read_total, 
MetricUnit::OPERATIONS,
                                      "(segment_v2) total number of segments 
read", segment_read,
                                      Labels({{"type", "segment_read_total"}}));
@@ -237,11 +227,6 @@ DorisMetrics::DorisMetrics() : 
_metric_registry(_s_registry_name) {
     INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
cumulative_compaction_deltas_total);
     INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
cumulative_compaction_bytes_total);
 
-    INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
meta_write_request_total);
-    INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
meta_write_request_duration_us);
-    INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
meta_read_request_total);
-    INT_COUNTER_METRIC_REGISTER(_server_metric_entity, 
meta_read_request_duration_us);
-
     INT_COUNTER_METRIC_REGISTER(_server_metric_entity, segment_read_total);
     INT_COUNTER_METRIC_REGISTER(_server_metric_entity, segment_row_total);
 
diff --git a/be/src/util/doris_metrics.h b/be/src/util/doris_metrics.h
index da68f530af3..db52ceb405d 100644
--- a/be/src/util/doris_metrics.h
+++ b/be/src/util/doris_metrics.h
@@ -90,11 +90,6 @@ public:
     IntCounter* publish_task_request_total = nullptr;
     IntCounter* publish_task_failed_total = nullptr;
 
-    IntCounter* meta_write_request_total = nullptr;
-    IntCounter* meta_write_request_duration_us = nullptr;
-    IntCounter* meta_read_request_total = nullptr;
-    IntCounter* meta_read_request_duration_us = nullptr;
-
     // Counters for segment_v2
     // -----------------------
     // total number of segments read


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to