summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-03-01 15:57:36 +0100
committerGitHub <noreply@github.com>2023-03-01 15:57:36 +0100
commitd88c4b0a0d59e86b8b006bf796db53310d416304 (patch)
tree41920574a771476a2e7402df22f08f9ca4bf1f05 /storage
parent18695b67dbcdf96ef1c7b17afb637e427598bba1 (diff)
parent1f11b29ff6921ff70d502e2c031e575b841b12ee (diff)
Merge pull request #26234 from vespa-engine/balder/enforce-system-time-for-snapshot
Balder/enforce system time for snapshot
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/common/statusmetricconsumer.cpp20
-rw-r--r--storage/src/vespa/storage/storageserver/statereporter.cpp5
2 files changed, 12 insertions, 13 deletions
diff --git a/storage/src/vespa/storage/common/statusmetricconsumer.cpp b/storage/src/vespa/storage/common/statusmetricconsumer.cpp
index c6f73540605..5998a2fe9a9 100644
--- a/storage/src/vespa/storage/common/statusmetricconsumer.cpp
+++ b/storage/src/vespa/storage/common/statusmetricconsumer.cpp
@@ -61,7 +61,7 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
} else {
LOG(debug, "Not calling update hooks as dontcallupdatehooks option has been given");
}
- int64_t currentTimeS(vespalib::count_s(_component.getClock().getMonotonicTime().time_since_epoch()));
+ vespalib::system_time currentTime = _component.getClock().getSystemTime();
bool json = (path.getAttribute("format") == "json");
int verbosity(path.get("verbosity", 0));
@@ -72,7 +72,7 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
if (path.hasAttribute("task") && path.getAttribute("task") == "reset") {
std::lock_guard guard(_lock);
- _manager.reset(currentTimeS);
+ _manager.reset(currentTime);
}
if (path.hasAttribute("interval")) {
@@ -83,7 +83,7 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
const metrics::MetricSnapshot* snapshot;
if (interval == -2) {
snapshot = &_manager.getActiveMetrics(metricLock);
- _manager.getActiveMetrics(metricLock).setToTime(currentTimeS);
+ _manager.getActiveMetrics(metricLock).setToTime(currentTime);
} else if (interval == -1) {
// "Prime" the metric structure by first fetching the set of active
// metrics (complete with structure) and resetting these. This
@@ -94,9 +94,9 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
"Total metrics from start until current time", 0,
_manager.getActiveMetrics(metricLock).getMetrics(),
copyUnset);
- generated->reset(0);
- _manager.getTotalMetricSnapshot(metricLock).addToSnapshot(*generated, currentTimeS);
- _manager.getActiveMetrics(metricLock).addToSnapshot(*generated, currentTimeS);
+ generated->reset();
+ _manager.getTotalMetricSnapshot(metricLock).addToSnapshot(*generated, currentTime);
+ _manager.getActiveMetrics(metricLock).addToSnapshot(*generated, currentTime);
generated->setFromTime(_manager.getTotalMetricSnapshot(metricLock).getFromTime());
snapshot = generated.get();
} else if (interval == 0) {
@@ -104,8 +104,8 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
generated = std::make_unique<metrics::MetricSnapshot>(
_manager.getTotalMetricSnapshot(metricLock).getName(), 0,
_manager.getActiveMetrics(metricLock).getMetrics(), true);
- generated->reset(0);
- _manager.getTotalMetricSnapshot(metricLock).addToSnapshot(*generated, currentTimeS);
+ generated->reset();
+ _manager.getTotalMetricSnapshot(metricLock).addToSnapshot(*generated, currentTime);
snapshot = generated.get();
} else {
snapshot = &_manager.getTotalMetricSnapshot(metricLock);
@@ -115,9 +115,9 @@ StatusMetricConsumer::reportStatus(std::ostream& out,
generated = std::make_unique<metrics::MetricSnapshot>(
_manager.getMetricSnapshot(metricLock, interval).getName(), 0,
_manager.getActiveMetrics(metricLock).getMetrics(), true);
- generated->reset(0);
+ generated->reset();
_manager.getMetricSnapshot(metricLock, interval, temporarySnap)
- .addToSnapshot(*generated, currentTimeS);
+ .addToSnapshot(*generated, currentTime);
snapshot = generated.get();
} else {
snapshot = &_manager.getMetricSnapshot(metricLock, interval, temporarySnap);
diff --git a/storage/src/vespa/storage/storageserver/statereporter.cpp b/storage/src/vespa/storage/storageserver/statereporter.cpp
index 205a2d710a6..79746f2cd63 100644
--- a/storage/src/vespa/storage/storageserver/statereporter.cpp
+++ b/storage/src/vespa/storage/storageserver/statereporter.cpp
@@ -81,9 +81,8 @@ StateReporter::getMetrics(const vespalib::string &consumer)
_manager.getMetricSnapshot(guard, interval).getName(), interval,
_manager.getActiveMetrics(guard).getMetrics(), true);
- snapshot.reset(0);
- _manager.getMetricSnapshot(guard, interval).addToSnapshot(
- snapshot, vespalib::count_s(_component.getClock().getSystemTime().time_since_epoch()));
+ snapshot.reset();
+ _manager.getMetricSnapshot(guard, interval).addToSnapshot(snapshot, _component.getClock().getSystemTime());
vespalib::asciistream json;
vespalib::JsonStream stream(json);