Print total stats

master
Vitaliy Filippov 2023-10-25 14:06:01 +03:00
parent f1cd87473a
commit 08f586bcec
1 changed files with 14 additions and 3 deletions

View File

@ -87,7 +87,8 @@ public:
void parse_config(json11::Json cfg);
void run(json11::Json cfg);
void loop();
void print_stats();
void print_stats(kv_test_stat_t & prev_stat, timespec & prev_stat_time);
void print_total_stats();
void start_change(const std::string & key);
void stop_change(const std::string & key);
void add_stat(kv_test_lat_t & stat, timespec tv_begin);
@ -261,7 +262,7 @@ void kv_test_t::run(json11::Json cfg)
consumer.loop = [this]() { loop(); };
ringloop->register_consumer(&consumer);
if (print_stats_interval)
stat_timer_id = epmgr->tfd->set_timer(print_stats_interval*1000, true, [this](int) { print_stats(); });
stat_timer_id = epmgr->tfd->set_timer(print_stats_interval*1000, true, [this](int) { print_stats(prev_stat, prev_stat_time); });
clock_gettime(CLOCK_REALTIME, &start_stat_time);
prev_stat_time = start_stat_time;
while (!finished)
@ -273,6 +274,8 @@ void kv_test_t::run(json11::Json cfg)
if (stat_timer_id >= 0)
epmgr->tfd->clear_timer(stat_timer_id);
ringloop->unregister_consumer(&consumer);
// Print total stats
print_total_stats();
// Destroy the client
delete db;
db = NULL;
@ -563,7 +566,7 @@ void kv_test_t::add_stat(kv_test_lat_t & stat, timespec tv_begin)
}
}
void kv_test_t::print_stats()
void kv_test_t::print_stats(kv_test_stat_t & prev_stat, timespec & prev_stat_time)
{
timespec cur_stat_time;
clock_gettime(CLOCK_REALTIME, &cur_stat_time);
@ -590,6 +593,14 @@ void kv_test_t::print_stats()
prev_stat_time = cur_stat_time;
}
void kv_test_t::print_total_stats()
{
printf("Total:\n");
kv_test_stat_t start_stats;
timespec start_stat_time = this->start_stat_time;
print_stats(start_stats, start_stat_time);
}
void kv_test_t::start_change(const std::string & key)
{
changing_keys.insert(key);