summaryrefslogtreecommitdiffstats
path: root/configd
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2024-02-05 09:20:47 +0000
committerArne Juul <arnej@yahooinc.com>2024-02-05 09:30:45 +0000
commit56f5a1697c231825a23e2c792c39fd8271d35c05 (patch)
tree219724816657ba30b24570278dae6da9d548eea6 /configd
parent2a7f13b47eb2ddb18e4a98d94b8e3c1d41e89bbe (diff)
reset totalRestarts metric when sentinel is reconfigured to inactive state
Diffstat (limited to 'configd')
-rw-r--r--configd/src/apps/sentinel/manager.cpp9
-rw-r--r--configd/src/apps/sentinel/manager.h1
-rw-r--r--configd/src/apps/sentinel/metrics.cpp8
-rw-r--r--configd/src/apps/sentinel/metrics.h1
4 files changed, 10 insertions, 9 deletions
diff --git a/configd/src/apps/sentinel/manager.cpp b/configd/src/apps/sentinel/manager.cpp
index 9fef1af0fa8..36bdef0dd8a 100644
--- a/configd/src/apps/sentinel/manager.cpp
+++ b/configd/src/apps/sentinel/manager.cpp
@@ -106,6 +106,9 @@ Manager::doConfigure()
}
}
_env.notifyConfigUpdated();
+ if (_services.empty()) {
+ _env.metrics().reset();
+ }
}
@@ -316,10 +319,4 @@ Manager::handleCmd(const Cmd& cmd)
}
}
-void
-Manager::updateMetrics()
-{
- _env.metrics().maybeLog();
-}
-
}
diff --git a/configd/src/apps/sentinel/manager.h b/configd/src/apps/sentinel/manager.h
index c5de8c99b91..765803b5da6 100644
--- a/configd/src/apps/sentinel/manager.h
+++ b/configd/src/apps/sentinel/manager.h
@@ -47,7 +47,6 @@ private:
void handleChildDeaths();
void handleRestarts();
- void updateMetrics();
void terminateServices(bool catchable, bool printDebug = false);
void doConfigure();
public:
diff --git a/configd/src/apps/sentinel/metrics.cpp b/configd/src/apps/sentinel/metrics.cpp
index d94e1b94465..f68311f6792 100644
--- a/configd/src/apps/sentinel/metrics.cpp
+++ b/configd/src/apps/sentinel/metrics.cpp
@@ -36,8 +36,7 @@ StartMetrics::maybeLog()
using namespace std::chrono_literals;
vespalib::steady_time curTime = vespalib::steady_clock::now();
if (curTime - lastRestartTime > 2h) {
- totalRestartsCounter = 0;
- lastRestartTime = vespalib::steady_clock::now();
+ reset();
}
sentinel_totalRestarts.sample(totalRestartsCounter);
sentinel_running.sample(currentlyRunningServices);
@@ -51,4 +50,9 @@ StartMetrics::incRestartsCounter()
lastRestartTime = vespalib::steady_clock::now();
}
+void StartMetrics::reset() {
+ totalRestartsCounter = 0;
+ lastRestartTime = vespalib::steady_clock::now();
+}
+
}
diff --git a/configd/src/apps/sentinel/metrics.h b/configd/src/apps/sentinel/metrics.h
index a2099ca1add..729b143a5da 100644
--- a/configd/src/apps/sentinel/metrics.h
+++ b/configd/src/apps/sentinel/metrics.h
@@ -27,6 +27,7 @@ struct StartMetrics {
void maybeLog();
void incRestartsCounter();
+ void reset();
};
}