diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-26 07:22:19 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-26 07:22:19 +0000 |
commit | 342e8e9753386b3e3e3d9a823723df63b8971308 (patch) | |
tree | 27969ec412e91fce6d2d27bdf09522c35bc624cf /slobrok/src | |
parent | 78133f8c95b11b460aa4fd9ad89bd00bb716c6f8 (diff) |
Avoid calling time(nullptr)
Diffstat (limited to 'slobrok/src')
-rw-r--r-- | slobrok/src/vespa/slobrok/server/metrics_producer.cpp | 16 | ||||
-rw-r--r-- | slobrok/src/vespa/slobrok/server/metrics_producer.h | 2 |
2 files changed, 12 insertions, 6 deletions
diff --git a/slobrok/src/vespa/slobrok/server/metrics_producer.cpp b/slobrok/src/vespa/slobrok/server/metrics_producer.cpp index 28959e94d35..1b3f7fe5a82 100644 --- a/slobrok/src/vespa/slobrok/server/metrics_producer.cpp +++ b/slobrok/src/vespa/slobrok/server/metrics_producer.cpp @@ -7,8 +7,15 @@ namespace slobrok { +using namespace std::chrono; + namespace { +time_t +secondsSinceEpoch() { + return duration_cast<seconds>(system_clock::now().time_since_epoch()).count(); +} + class MetricsSnapshotter : public FNET_Task { MetricsProducer &_owner; @@ -100,14 +107,13 @@ MetricsProducer::MetricsProducer(const RPCHooks &hooks, : _rpcHooks(hooks), _lastMetrics(RPCHooks::Metrics::zero()), _producer(), - _startTime(time(NULL)), + _startTime(secondsSinceEpoch()), _lastSnapshotStart(_startTime), _snapshotter(new MetricsSnapshotter(transport, *this)) { } -MetricsProducer::~MetricsProducer() { -} +MetricsProducer::~MetricsProducer() = default; vespalib::string MetricsProducer::getMetrics(const vespalib::string &consumer) @@ -118,7 +124,7 @@ MetricsProducer::getMetrics(const vespalib::string &consumer) vespalib::string MetricsProducer::getTotalMetrics(const vespalib::string &) { - uint32_t now = time(NULL); + uint32_t now = secondsSinceEpoch(); RPCHooks::Metrics current = _rpcHooks.getMetrics(); RPCHooks::Metrics start = RPCHooks::Metrics::zero(); return makeSnapshot(start, current, _startTime, now); @@ -128,7 +134,7 @@ MetricsProducer::getTotalMetrics(const vespalib::string &) void MetricsProducer::snapshot() { - uint32_t now = time(NULL); + uint32_t now = secondsSinceEpoch(); RPCHooks::Metrics current = _rpcHooks.getMetrics(); _producer.setMetrics(makeSnapshot(_lastMetrics, current, _lastSnapshotStart, now)); _lastMetrics = current; diff --git a/slobrok/src/vespa/slobrok/server/metrics_producer.h b/slobrok/src/vespa/slobrok/server/metrics_producer.h index 535988f9a2e..460844a6d87 100644 --- a/slobrok/src/vespa/slobrok/server/metrics_producer.h +++ b/slobrok/src/vespa/slobrok/server/metrics_producer.h @@ -26,7 +26,7 @@ public: void snapshot(); MetricsProducer(const RPCHooks &hooks, FNET_Transport &transport); - ~MetricsProducer(); + ~MetricsProducer() override; }; |