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

View File

@ -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();
}

View File

@ -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;