You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ya...@apache.org on 2017/05/17 01:14:42 UTC

[2/3] mesos git commit: Added 'registrar/log/ensemble_size' metric.

Added 'registrar/log/ensemble_size' metric.

Review: https://reviews.apache.org/r/59290


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c881e17e
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c881e17e
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c881e17e

Branch: refs/heads/master
Commit: c881e17e696bf07cca8478776041eab75d574c4f
Parents: 302bb9a
Author: Jiang Yan Xu <xu...@apple.com>
Authored: Fri Sep 30 15:55:22 2016 -0700
Committer: Jiang Yan Xu <xu...@apple.com>
Committed: Tue May 16 18:04:01 2017 -0700

----------------------------------------------------------------------
 src/log/log.hpp         | 10 ++++++++++
 src/log/metrics.cpp     |  7 ++++++-
 src/log/metrics.hpp     |  2 ++
 src/tests/log_tests.cpp |  3 +++
 4 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/c881e17e/src/log/log.hpp
----------------------------------------------------------------------
diff --git a/src/log/log.hpp b/src/log/log.hpp
index 097aeef..24481aa 100644
--- a/src/log/log.hpp
+++ b/src/log/log.hpp
@@ -103,6 +103,16 @@ private:
 
   friend Metrics;
   Metrics metrics;
+
+  // The size of the network. We use "ensemble" because it as a metric
+  // name more intuitively means the "replica set".
+  process::Future<double> _ensemble_size()
+  {
+    // Watching for any value different than 0 should give us the
+    // current value.
+    return network->watch(0u)
+      .then([](size_t size) -> double { return size; });
+  }
 };
 
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/c881e17e/src/log/metrics.cpp
----------------------------------------------------------------------
diff --git a/src/log/metrics.cpp b/src/log/metrics.cpp
index 90b6988..20b8abf 100644
--- a/src/log/metrics.cpp
+++ b/src/log/metrics.cpp
@@ -35,15 +35,20 @@ Metrics::Metrics(
     const Option<string>& prefix)
   : recovered(
         prefix.getOrElse("") + "log/recovered",
-        defer(process, &LogProcess::_recovered))
+        defer(process, &LogProcess::_recovered)),
+    ensemble_size(
+        prefix.getOrElse("") + "log/ensemble_size",
+        defer(process, &LogProcess::_ensemble_size))
 {
   process::metrics::add(recovered);
+  process::metrics::add(ensemble_size);
 }
 
 
 Metrics::~Metrics()
 {
   process::metrics::remove(recovered);
+  process::metrics::remove(ensemble_size);
 }
 
 } // namespace log {

http://git-wip-us.apache.org/repos/asf/mesos/blob/c881e17e/src/log/metrics.hpp
----------------------------------------------------------------------
diff --git a/src/log/metrics.hpp b/src/log/metrics.hpp
index 23ba6eb..b537e0a 100644
--- a/src/log/metrics.hpp
+++ b/src/log/metrics.hpp
@@ -37,6 +37,8 @@ struct Metrics
   ~Metrics();
 
   process::metrics::Gauge recovered;
+
+  process::metrics::Gauge ensemble_size;
 };
 
 } // namespace log {

http://git-wip-us.apache.org/repos/asf/mesos/blob/c881e17e/src/tests/log_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/log_tests.cpp b/src/tests/log_tests.cpp
index 52b1bfe..f9f9400 100644
--- a/src/tests/log_tests.cpp
+++ b/src/tests/log_tests.cpp
@@ -2102,6 +2102,9 @@ TEST_F(LogTest, Metrics)
 
   ASSERT_EQ(1u, snapshot.values.count("prefix/log/recovered"));
   EXPECT_EQ(1, snapshot.values["prefix/log/recovered"]);
+
+  ASSERT_EQ(1u, snapshot.values.count("prefix/log/ensemble_size"));
+  EXPECT_EQ(1, snapshot.values["prefix/log/ensemble_size"]);
 }