From 9980fc89b35fbf1efd35645276a2183a3ab183da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 20 Jun 2018 13:56:47 -0400 Subject: [PATCH] dhtrunner: add stats --- src/dhtrunner.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp index 6084f1d5..825dca1c 100644 --- a/src/dhtrunner.cpp +++ b/src/dhtrunner.cpp @@ -410,15 +410,25 @@ DhtRunner::loop_() received = std::move(rcv); } if (not received.empty()) { + size_t packet_num = received.size(); + auto start = clock::now(); while (not received.empty()) { auto& pck = received.front(); - auto delay = clock::now() - pck.received; + auto now = clock::now(); + auto delay = now - pck.received; if (delay > std::chrono::seconds(1)) std::cerr << "Dropping packet with high delay: " << print_dt(delay) << std::endl; - else + else { wakeup = dht->periodic(pck.data.data(), pck.data.size()-1, pck.from); + auto end = clock::now(); + std::cerr << "periodic took " << print_dt(end - now)*1000 << std::endl; + } received.pop(); } + if (packet_num > 1) { + auto time_all = print_dt(clock::now() - start); + std::cerr << "Treating " << packet_num << " packets took " << time_all << " - " << (packet_num/time_all) << " packets/sec" << std::endl; + } } else { wakeup = dht->periodic(nullptr, 0, nullptr, 0); } -- GitLab