added benchmark test suite

This commit is contained in:
2026-05-07 14:29:35 +02:00
parent 3d4a61749b
commit 5e6ba3666e
9 changed files with 261 additions and 173 deletions
+28
View File
@@ -0,0 +1,28 @@
#include "RecordingObserver.hpp"
namespace matador::test {
RecordingObserver::RecordingObserver(utils::message_bus& bus) {
subscriptions.push_back(bus.subscribe<sql::statement_accessed_event>([this](const sql::statement_accessed_event &ev) {
std::lock_guard lock(mutex);
events.push(utils::message::from_ref(ev));
}));
subscriptions.push_back(bus.subscribe<sql::statement_added_event>([this](const sql::statement_added_event &ev) {
std::lock_guard lock(mutex);
events.push(utils::message::from_ref(ev));
}));
subscriptions.push_back(bus.subscribe<sql::statement_evicted_event>([this](const sql::statement_evicted_event &ev) {
std::lock_guard lock(mutex);
events.push(utils::message::from_ref(ev));
}));
}
std::optional<utils::message> RecordingObserver::poll() {
std::lock_guard lock(mutex);
if (events.empty()) {
return std::nullopt;
}
auto evt = events.front();
events.pop();
return evt;
}
}