aboutsummaryrefslogtreecommitdiffstats
path: root/staging_vespalib/src/tests/metrics/mock_tick.h
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2017-12-04 11:10:55 +0000
committerArne Juul <arnej@yahoo-inc.com>2017-12-05 13:11:20 +0000
commit70b757e310533b6ba97d53a6a13733b6ee480243 (patch)
tree8d30309e26734fbd61ca82542332902501193c2f /staging_vespalib/src/tests/metrics/mock_tick.h
parentfcbd742e57abb3c03ec9de18309840479e5d6dc0 (diff)
update metrics library after review
* move ticker kill * use relaxed JSON in test * rewrite loops in MockTick * no need for atomics when protected by mutex * add alive() to Tick API * hook up total metrics * add some documentation comments
Diffstat (limited to 'staging_vespalib/src/tests/metrics/mock_tick.h')
-rw-r--r--staging_vespalib/src/tests/metrics/mock_tick.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/staging_vespalib/src/tests/metrics/mock_tick.h b/staging_vespalib/src/tests/metrics/mock_tick.h
index 2f69f69fc91..e0336260880 100644
--- a/staging_vespalib/src/tests/metrics/mock_tick.h
+++ b/staging_vespalib/src/tests/metrics/mock_tick.h
@@ -12,9 +12,9 @@ namespace vespalib::metrics {
class MockTick : public Tick {
private:
std::mutex _lock;
- std::atomic<bool> _runFlag;
- std::atomic<bool> _provided;
- std::atomic<bool> _blocked;
+ bool _runFlag;
+ bool _provided;
+ bool _blocked;
std::condition_variable _providedCond;
std::condition_variable _blockedCond;
TimeStamp _nextValue;
@@ -23,6 +23,7 @@ public:
MockTick();
TimeStamp next(TimeStamp prev) override;
void kill() override;
+ bool alive() override;
void provide(TimeStamp value);
TimeStamp waitUntilBlocked();
@@ -33,6 +34,7 @@ struct TickProxy : Tick {
TickProxy(std::shared_ptr<Tick> tick_in) : tick(std::move(tick_in)) {}
TimeStamp next(TimeStamp prev) override { return tick->next(prev); }
void kill() override { tick->kill(); }
+ bool alive() override { return tick->alive(); }
};
} // namespace vespalib::metrics