diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/client.cpp | 14 | ||||
-rw-r--r-- | src/client/client.h | 3 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/client/client.cpp b/src/client/client.cpp index 941fc203d..c03c062c6 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -64,6 +64,14 @@ extern gui::IGUIEnvironment* guienv; Utility classes */ +u32 PacketCounter::sum() const +{ + u32 n = 0; + for (const auto &it : m_packets) + n += it.second; + return n; +} + void PacketCounter::print(std::ostream &o) const { for (const auto &it : m_packets) { @@ -357,9 +365,11 @@ void Client::step(float dtime) if(counter <= 0.0f) { counter = 30.0f; + u32 sum = m_packetcounter.sum(); + float avg = sum / counter; - infostream << "Client packetcounter (" << m_packetcounter_timer - << "s):"<<std::endl; + infostream << "Client packetcounter (" << counter << "s): " + << "sum=" << sum << " avg=" << avg << "/s" << std::endl; m_packetcounter.print(infostream); m_packetcounter.clear(); } diff --git a/src/client/client.h b/src/client/client.h index eea78d456..3b1095ac2 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -94,11 +94,12 @@ public: m_packets.clear(); } + u32 sum() const; void print(std::ostream &o) const; private: // command, count - std::map<u16, u16> m_packets; + std::map<u16, u32> m_packets; }; class ClientScripting; |