aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/client.cpp14
-rw-r--r--src/client/client.h3
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;