summaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
authorStuart Stock <stuart@int08h.com>2019-01-23 20:56:56 -0600
committerStuart Stock <stuart@int08h.com>2019-01-23 20:56:56 -0600
commitea61800c269c542d0231b9129863e6a07b5869f6 (patch)
treee1d0497465be79b2e8e26006eac8ca2391580432 /src/server.rs
parentce425f96a3f0b4413325926c5d0209998e0aad45 (diff)
downloadroughenough-ea61800c269c542d0231b9129863e6a07b5869f6.zip
Enhanced client stats logging output
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server.rs b/src/server.rs
index b23404d..6045191 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -28,6 +28,8 @@ use time;
use byteorder::{LittleEndian, WriteBytesExt};
+use humansize::{FileSize, file_size_opts as fsopts};
+
use mio::net::{TcpListener, UdpSocket};
use mio::{Events, Poll, PollOpt, Ready, Token};
use mio::tcp::Shutdown;
@@ -264,9 +266,21 @@ impl Server {
}
STATUS => {
+ for (addr, counts) in self.stats.iter() {
+ info!(
+ "{:16}: {} valid, {} invalid requests; {} responses ({} sent)",
+ format!("{}", addr), counts.valid_requests, counts.invalid_requests,
+ counts.responses_sent,
+ counts.bytes_sent.file_size(fsopts::BINARY).unwrap()
+ );
+ }
+
info!(
- "responses {}, invalid requests {}",
- self.stats.total_responses_sent(), self.stats.total_invalid_requests()
+ "Totals: {} unique clients; {} valid, {} invalid requests; {} responses ({} sent)",
+ self.stats.total_unique_clients(),
+ self.stats.total_valid_requests(), self.stats.total_invalid_requests(),
+ self.stats.total_responses_sent(),
+ self.stats.total_bytes_sent().file_size(fsopts::BINARY).unwrap()
);
self.timer.set_timeout(self.config.status_interval(), ());