summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsigmaSd <bedisnbiba@gmail.com>2020-07-14 15:45:59 +0200
committerGitHub <noreply@github.com>2020-07-14 15:45:59 +0200
commit93a6178c00662ce427e4f4dfd1a710365329f639 (patch)
tree1bda7b14498ac706029e1d9d7b2cc73c04124702
parentb0d34311ab5edb125053148e90c86c29e5c720c0 (diff)
feat(raw): add delimiters to raw output (#175)
-rw-r--r--src/display/ui.rs67
-rw-r--r--src/tests/cases/snapshots/raw_mode__bi_directional_traffic.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__multiple_connections_from_remote_address.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_different_connections.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_single_connection.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__multiple_processes_with_multiple_connections.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__no_resolve_mode.snap7
-rw-r--r--src/tests/cases/snapshots/raw_mode__one_ip_packet_of_traffic.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__one_packet_of_traffic.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__one_process_with_multiple_connections.snap5
-rw-r--r--src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes.snap7
-rw-r--r--src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes_bi_directional.snap7
-rw-r--r--src/tests/cases/snapshots/raw_mode__sustained_traffic_from_one_process.snap7
-rw-r--r--src/tests/cases/snapshots/raw_mode__traffic_with_host_names.snap7
14 files changed, 118 insertions, 24 deletions
diff --git a/src/display/ui.rs b/src/display/ui.rs
index ce96aa1..d37ab31 100644
--- a/src/display/ui.rs
+++ b/src/display/ui.rs
@@ -45,8 +45,10 @@ where
let ip_to_host = &self.ip_to_host;
let local_time: DateTime<Local> = Local::now();
let timestamp = local_time.timestamp();
+ let mut no_traffic = true;
- let output_process_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
+ let output_process_data = |write_to_stdout: &mut (dyn FnMut(String) + Send),
+ no_traffic: &mut bool| {
for (process, process_network_data) in &state.processes {
write_to_stdout(format!(
"process: <{}> \"{}\" up/down Bps: {}/{} connections: {}",
@@ -56,27 +58,31 @@ where
process_network_data.total_bytes_downloaded,
process_network_data.connection_count
));
+ *no_traffic = false;
}
};
- let output_connections_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
- for (connection, connection_network_data) in &state.connections {
- write_to_stdout(format!(
- "connection: <{}> {} up/down Bps: {}/{} process: \"{}\"",
- timestamp,
- display_connection_string(
- connection,
- ip_to_host,
- &connection_network_data.interface_name,
- ),
- connection_network_data.total_bytes_uploaded,
- connection_network_data.total_bytes_downloaded,
- connection_network_data.process_name
- ));
- }
- };
+ let output_connections_data =
+ |write_to_stdout: &mut (dyn FnMut(String) + Send), no_traffic: &mut bool| {
+ for (connection, connection_network_data) in &state.connections {
+ write_to_stdout(format!(
+ "connection: <{}> {} up/down Bps: {}/{} process: \"{}\"",
+ timestamp,
+ display_connection_string(
+ connection,
+ ip_to_host,
+ &connection_network_data.interface_name,
+ ),
+ connection_network_data.total_bytes_uploaded,
+ connection_network_data.total_bytes_downloaded,
+ connection_network_data.process_name
+ ));
+ *no_traffic = false;
+ }
+ };
- let output_adressess_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
+ let output_adressess_data = |write_to_stdout: &mut (dyn FnMut(String) + Send),
+ no_traffic: &mut bool| {
for (remote_address, remote_address_network_data) in &state.remote_addresses {
write_to_stdout(format!(
"remote_address: <{}> {} up/down Bps: {}/{} connections: {}",
@@ -86,23 +92,36 @@ where
remote_address_network_data.total_bytes_downloaded,
remote_address_network_data.connection_count
));
+ *no_traffic = false;
}
};
+ // header
+ write_to_stdout("Refreshing:".into());
+
+ // body1
if self.opts.processes {
- output_process_data(write_to_stdout);
+ output_process_data(write_to_stdout, &mut no_traffic);
}
if self.opts.connections {
- output_connections_data(write_to_stdout);
+ output_connections_data(write_to_stdout, &mut no_traffic);
}
if self.opts.addresses {
- output_adressess_data(write_to_stdout);
+ output_adressess_data(write_to_stdout, &mut no_traffic);
}
if !(self.opts.processes || self.opts.connections || self.opts.addresses) {
- output_process_data(write_to_stdout);
- output_connections_data(write_to_stdout);
- output_adressess_data(write_to_stdout);
+ output_process_data(write_to_stdout, &mut no_traffic);
+ output_connections_data(write_to_stdout, &mut no_traffic);
+ output_adressess_data(write_to_stdout, &mut no_traffic);
+ }
+
+ // body2: In case no traffic is detected
+ if no_traffic {
+ write_to_stdout("<NO TRAFFIC>".into());
}
+
+ // footer
+ write_to_stdout("".into());
}
pub fn draw(&mut self, paused: bool, show_dns: bool, elapsed_time: Duration, ui_offset: usize) {
diff --git a/src/tests/cases/snapshots/raw_mode__bi_directional_traffic.snap b/src/tests/cases/snapshots/raw_mode__bi_directional_traffic.snap
index ff5c6df..604d40f 100644
--- a/src/tests/cases/snapshots/raw_mode__bi_directional_traffic.snap
+++ b/src/tests/cases/snapshots/raw_mode__bi_directional_traffic.snap
@@ -2,7 +2,12 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 24/25 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 24/25 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 24/25 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__multiple_connections_from_remote_address.snap b/src/tests/cases/snapshots/raw_mode__multiple_connections_from_remote_address.snap
index ee79f90..140d2b4 100644
--- a/src/tests/cases/snapshots/raw_mode__multiple_connections_from_remote_address.snap
+++ b/src/tests/cases/snapshots/raw_mode__multiple_connections_from_remote_address.snap
@@ -2,8 +2,13 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/47 connections: 2
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12346 (tcp) up/down Bps: 0/25 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/22 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/47 connections: 2
+
diff --git a/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_different_connections.snap b/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_different_connections.snap
index d5defc2..8d4d513 100644
--- a/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_different_connections.snap
+++ b/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_different_connections.snap
@@ -2,9 +2,14 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/22 connections: 1
process: <TIMESTAMP_REMOVED> "4" up/down Bps: 0/19 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 2.2.2.2:12345 (tcp) up/down Bps: 0/22 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:4434 => 2.2.2.2:54321 (tcp) up/down Bps: 0/19 process: "4"
remote_address: <TIMESTAMP_REMOVED> 2.2.2.2 up/down Bps: 0/41 connections: 2
+
diff --git a/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_single_connection.snap b/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_single_connection.snap
index 91bf8b8..7db2d18 100644
--- a/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_single_connection.snap
+++ b/src/tests/cases/snapshots/raw_mode__multiple_packets_of_traffic_from_single_connection.snap
@@ -2,7 +2,12 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/45 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/45 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/45 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__multiple_processes_with_multiple_connections.snap b/src/tests/cases/snapshots/raw_mode__multiple_processes_with_multiple_connections.snap
index 6709ffd..0b230b7 100644
--- a/src/tests/cases/snapshots/raw_mode__multiple_processes_with_multiple_connections.snap
+++ b/src/tests/cases/snapshots/raw_mode__multiple_processes_with_multiple_connections.snap
@@ -2,6 +2,10 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 0/28 connections: 1
process: <TIMESTAMP_REMOVED> "4" up/down Bps: 0/26 connections: 1
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/22 connections: 1
@@ -15,3 +19,4 @@ remote_address: <TIMESTAMP_REMOVED> 2.2.2.2 up/down Bps: 0/26 connections: 1
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/22 connections: 1
remote_address: <TIMESTAMP_REMOVED> 4.4.4.4 up/down Bps: 0/21 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__no_resolve_mode.snap b/src/tests/cases/snapshots/raw_mode__no_resolve_mode.snap
index c4624be..1e198c6 100644
--- a/src/tests/cases/snapshots/raw_mode__no_resolve_mode.snap
+++ b/src/tests/cases/snapshots/raw_mode__no_resolve_mode.snap
@@ -2,12 +2,18 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 28/30 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 17/18 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 28/30 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/down Bps: 17/18 process: "5"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 28/30 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 17/18 connections: 1
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 31/32 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 22/27 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 31/32 process: "1"
@@ -15,3 +21,4 @@ connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/d
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 31/32 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 22/27 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__one_ip_packet_of_traffic.snap b/src/tests/cases/snapshots/raw_mode__one_ip_packet_of_traffic.snap
index 6ed439b..8ce2579 100644
--- a/src/tests/cases/snapshots/raw_mode__one_ip_packet_of_traffic.snap
+++ b/src/tests/cases/snapshots/raw_mode__one_ip_packet_of_traffic.snap
@@ -2,7 +2,12 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 21/0 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 21/0 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 21/0 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__one_packet_of_traffic.snap b/src/tests/cases/snapshots/raw_mode__one_packet_of_traffic.snap
index 6ed439b..8ce2579 100644
--- a/src/tests/cases/snapshots/raw_mode__one_packet_of_traffic.snap
+++ b/src/tests/cases/snapshots/raw_mode__one_packet_of_traffic.snap
@@ -2,7 +2,12 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 21/0 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 21/0 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 21/0 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__one_process_with_multiple_connections.snap b/src/tests/cases/snapshots/raw_mode__one_process_with_multiple_connections.snap
index cb3efff..91519f3 100644
--- a/src/tests/cases/snapshots/raw_mode__one_process_with_multiple_connections.snap
+++ b/src/tests/cases/snapshots/raw_mode__one_process_with_multiple_connections.snap
@@ -2,8 +2,13 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/46 connections: 2
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12346 (tcp) up/down Bps: 0/24 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/22 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/46 connections: 2
+
diff --git a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes.snap b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes.snap
index 526b9f7..85aadde 100644
--- a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes.snap
+++ b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes.snap
@@ -2,12 +2,18 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/22 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 0/19 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/22 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/down Bps: 0/19 process: "5"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/22 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 0/19 connections: 1
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/35 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 0/30 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/35 process: "1"
@@ -15,3 +21,4 @@ connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/d
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/35 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 0/30 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes_bi_directional.snap b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes_bi_directional.snap
index c4624be..1e198c6 100644
--- a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes_bi_directional.snap
+++ b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_multiple_processes_bi_directional.snap
@@ -2,12 +2,18 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 28/30 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 17/18 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 28/30 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/down Bps: 17/18 process: "5"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 28/30 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 17/18 connections: 1
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 31/32 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 22/27 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 31/32 process: "1"
@@ -15,3 +21,4 @@ connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => 3.3.3.3:1337 (tcp) up/d
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 31/32 connections: 1
remote_address: <TIMESTAMP_REMOVED> 3.3.3.3 up/down Bps: 22/27 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_one_process.snap b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_one_process.snap
index 13a327c..af3264d 100644
--- a/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_one_process.snap
+++ b/src/tests/cases/snapshots/raw_mode__sustained_traffic_from_one_process.snap
@@ -2,10 +2,17 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/22 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/22 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/22 connections: 1
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 0/31 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => 1.1.1.1:12345 (tcp) up/down Bps: 0/31 process: "1"
remote_address: <TIMESTAMP_REMOVED> 1.1.1.1 up/down Bps: 0/31 connections: 1
+
diff --git a/src/tests/cases/snapshots/raw_mode__traffic_with_host_names.snap b/src/tests/cases/snapshots/raw_mode__traffic_with_host_names.snap
index e55d125..fa34c0f 100644
--- a/src/tests/cases/snapshots/raw_mode__traffic_with_host_names.snap
+++ b/src/tests/cases/snapshots/raw_mode__traffic_with_host_names.snap
@@ -2,12 +2,18 @@
source: src/tests/cases/raw_mode.rs
expression: formatted
---
+Refreshing:
+<NO TRAFFIC>
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 28/30 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 17/18 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => one.one.one.one:12345 (tcp) up/down Bps: 28/30 process: "1"
connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => three.three.three.three:1337 (tcp) up/down Bps: 17/18 process: "5"
remote_address: <TIMESTAMP_REMOVED> one.one.one.one up/down Bps: 28/30 connections: 1
remote_address: <TIMESTAMP_REMOVED> three.three.three.three up/down Bps: 17/18 connections: 1
+
+Refreshing:
process: <TIMESTAMP_REMOVED> "1" up/down Bps: 31/32 connections: 1
process: <TIMESTAMP_REMOVED> "5" up/down Bps: 22/27 connections: 1
connection: <TIMESTAMP_REMOVED> <interface_name>:443 => one.one.one.one:12345 (tcp) up/down Bps: 31/32 process: "1"
@@ -15,3 +21,4 @@ connection: <TIMESTAMP_REMOVED> <interface_name>:4435 => three.three.three.three
remote_address: <TIMESTAMP_REMOVED> one.one.one.one up/down Bps: 31/32 connections: 1
remote_address: <TIMESTAMP_REMOVED> three.three.three.three up/down Bps: 22/27 connections: 1
+