You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pegasus.apache.org by wa...@apache.org on 2023/06/05 04:35:08 UTC

[incubator-pegasus] 30/32: feat(new_metrics): migrate metrics for failure detector (#1502)

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

wangdan pushed a commit to branch migrate-metrics-dev
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git

commit 6902bac9d9439b8963a4dee6c313ff30d47beb04
Author: Dan Wang <wa...@apache.org>
AuthorDate: Thu Jun 1 11:05:00 2023 +0800

    feat(new_metrics): migrate metrics for failure detector (#1502)
    
    https://github.com/apache/incubator-pegasus/issues/1501
    
    The only server-level metric of failure detector is migrated to the new framework,
    i.e. the number of failed beacons sent by failure detector.
---
 src/failure_detector/failure_detector.cpp | 17 ++++++++---------
 src/failure_detector/failure_detector.h   |  4 ++--
 src/utils/metrics.h                       |  3 ++-
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/failure_detector/failure_detector.cpp b/src/failure_detector/failure_detector.cpp
index c682fe170..20145b2b7 100644
--- a/src/failure_detector/failure_detector.cpp
+++ b/src/failure_detector/failure_detector.cpp
@@ -35,7 +35,6 @@
 
 #include "failure_detector/fd.code.definition.h"
 #include "fd_types.h"
-#include "perf_counter/perf_counter.h"
 #include "runtime/api_layer1.h"
 #include "runtime/serverlet.h"
 #include "runtime/task/async_calls.h"
@@ -44,22 +43,22 @@
 #include "utils/command_manager.h"
 #include "utils/fmt_logging.h"
 #include "utils/process_utils.h"
+#include "utils/string_view.h"
+
+METRIC_DEFINE_counter(server,
+                      beacon_failed_count,
+                      dsn::metric_unit::kBeacons,
+                      "The number of failed beacons sent by failure detector");
 
 namespace dsn {
 namespace fd {
 
-failure_detector::failure_detector()
+failure_detector::failure_detector() : METRIC_VAR_INIT_server(beacon_failed_count)
 {
     dsn::threadpool_code pool = task_spec::get(LPC_BEACON_CHECK.code())->pool_code;
     task_spec::get(RPC_FD_FAILURE_DETECTOR_PING.code())->pool_code = pool;
     task_spec::get(RPC_FD_FAILURE_DETECTOR_PING_ACK.code())->pool_code = pool;
 
-    _recent_beacon_fail_count.init_app_counter(
-        "eon.failure_detector",
-        "recent_beacon_fail_count",
-        COUNTER_TYPE_VOLATILE_NUMBER,
-        "failure detector beacon fail count in the recent period");
-
     _is_started = false;
 }
 
@@ -423,7 +422,7 @@ bool failure_detector::end_ping_internal(::dsn::error_code err, const beacon_ack
                     node,
                     _beacon_timeout_milliseconds,
                     err);
-        _recent_beacon_fail_count->increment();
+        METRIC_VAR_INCREMENT(beacon_failed_count);
     }
 
     master_map::iterator itr = _masters.find(node);
diff --git a/src/failure_detector/failure_detector.h b/src/failure_detector/failure_detector.h
index 85186ac65..190169c2c 100644
--- a/src/failure_detector/failure_detector.h
+++ b/src/failure_detector/failure_detector.h
@@ -70,12 +70,12 @@
 
 #include "failure_detector/fd.client.h"
 #include "failure_detector/fd.server.h"
-#include "perf_counter/perf_counter_wrapper.h"
 #include "runtime/rpc/rpc_address.h"
 #include "runtime/task/task.h"
 #include "runtime/task/task_code.h"
 #include "runtime/task/task_tracker.h"
 #include "utils/error_code.h"
+#include "utils/metrics.h"
 #include "utils/threadpool_code.h"
 #include "utils/zlocks.h"
 
@@ -238,7 +238,7 @@ private:
     bool _use_allow_list;
     allow_list _allow_list;
 
-    perf_counter_wrapper _recent_beacon_fail_count;
+    METRIC_VAR_DECLARE_counter(beacon_failed_count);
 
     std::unique_ptr<command_deregister> _get_allow_list;
 
diff --git a/src/utils/metrics.h b/src/utils/metrics.h
index b474538e9..979c8274d 100644
--- a/src/utils/metrics.h
+++ b/src/utils/metrics.h
@@ -698,7 +698,8 @@ ENUM_END(metric_type)
     DEF(Backups)                                                                                   \
     DEF(FileLoads)                                                                                 \
     DEF(FileUploads)                                                                               \
-    DEF(BulkLoads)
+    DEF(BulkLoads)                                                                                 \
+    DEF(Beacons)
 
 enum class metric_unit : size_t
 {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pegasus.apache.org
For additional commands, e-mail: commits-help@pegasus.apache.org