diff options
author | Arne Juul <arnej@yahooinc.com> | 2024-02-05 09:20:47 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2024-02-05 09:30:45 +0000 |
commit | 56f5a1697c231825a23e2c792c39fd8271d35c05 (patch) | |
tree | 219724816657ba30b24570278dae6da9d548eea6 /configd | |
parent | 2a7f13b47eb2ddb18e4a98d94b8e3c1d41e89bbe (diff) |
reset totalRestarts metric when sentinel is reconfigured to inactive state
Diffstat (limited to 'configd')
-rw-r--r-- | configd/src/apps/sentinel/manager.cpp | 9 | ||||
-rw-r--r-- | configd/src/apps/sentinel/manager.h | 1 | ||||
-rw-r--r-- | configd/src/apps/sentinel/metrics.cpp | 8 | ||||
-rw-r--r-- | configd/src/apps/sentinel/metrics.h | 1 |
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(); }; } |