Client: Add sum and average to packetcounter

This commit is contained in:
sfan5 2020-05-15 15:12:37 +02:00
parent a9c3a42323
commit be38a44ffe
2 changed files with 14 additions and 3 deletions

@ -64,6 +64,14 @@ extern gui::IGUIEnvironment* guienv;
Utility classes 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 void PacketCounter::print(std::ostream &o) const
{ {
for (const auto &it : m_packets) { for (const auto &it : m_packets) {
@ -357,9 +365,11 @@ void Client::step(float dtime)
if(counter <= 0.0f) if(counter <= 0.0f)
{ {
counter = 30.0f; counter = 30.0f;
u32 sum = m_packetcounter.sum();
float avg = sum / counter;
infostream << "Client packetcounter (" << m_packetcounter_timer infostream << "Client packetcounter (" << counter << "s): "
<< "s):"<<std::endl; << "sum=" << sum << " avg=" << avg << "/s" << std::endl;
m_packetcounter.print(infostream); m_packetcounter.print(infostream);
m_packetcounter.clear(); m_packetcounter.clear();
} }

@ -94,11 +94,12 @@ public:
m_packets.clear(); m_packets.clear();
} }
u32 sum() const;
void print(std::ostream &o) const; void print(std::ostream &o) const;
private: private:
// command, count // command, count
std::map<u16, u16> m_packets; std::map<u16, u32> m_packets;
}; };
class ClientScripting; class ClientScripting;