summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-08-26 07:22:19 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-08-26 07:22:19 +0000
commit342e8e9753386b3e3e3d9a823723df63b8971308 (patch)
tree27969ec412e91fce6d2d27bdf09522c35bc624cf /slobrok
parent78133f8c95b11b460aa4fd9ad89bd00bb716c6f8 (diff)
Avoid calling time(nullptr)
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/vespa/slobrok/server/metrics_producer.cpp16
-rw-r--r--slobrok/src/vespa/slobrok/server/metrics_producer.h2
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;
};