Skip to content

Commit

Permalink
addressed feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
sreedharamzn committed Jul 25, 2023
1 parent 99d0cf7 commit 1887025
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 18 deletions.
37 changes: 20 additions & 17 deletions src/data/netstat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ impl CollectData for NetstatRaw {
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct Netstat {
pub time: TimeEnum,
pub netstat_data: HashMap<String, i64>,
pub netstat_data: HashMap<String, u64>,
}

impl Netstat {
Expand All @@ -56,15 +56,15 @@ impl Netstat {
self.time = time;
}

fn set_data(&mut self, data: HashMap<String, i64>) {
fn set_data(&mut self, data: HashMap<String, u64>) {
self.netstat_data = data;
}
}

#[derive(Serialize, Deserialize, Debug, Clone)]
struct NetstatEntry {
pub time: TimeEnum,
pub value: i64,
pub value: u64,
}

fn get_entry(values: Vec<Netstat>, key: String) -> Result<String> {
Expand All @@ -84,13 +84,9 @@ fn get_entry(values: Vec<Netstat>, key: String) -> Result<String> {
.get(&key)
.ok_or(PDError::VisualizerNetstatValueGetError(key.to_string()))?;

let mut v = *curr_value;
if !key.contains("nr_") {
v = *curr_value - *prev_value;
}
let netstat_entry = NetstatEntry {
time: (current_time - time_zero),
value: v,
value: *curr_value - *prev_value,
};
end_values.push(netstat_entry);
prev_netstat = value.clone();
Expand All @@ -112,23 +108,30 @@ impl GetData for Netstat {
};
let mut netstat = Netstat::new();
let reader = BufReader::new(raw_value.data.as_bytes());
let mut map: HashMap<String, i64> = HashMap::new();
let mut map: HashMap<String, u64> = HashMap::new();
let mut lines = reader.lines();

while let (
Some(line1), Some(line2)) = (lines.next(), lines.next()) {
let binding = line1.unwrap();
let mut names = binding.split_whitespace();
let params :Vec<&str> = binding.split_whitespace().collect();

let binding = line2.unwrap();
let mut values = binding.split_whitespace();
let values :Vec<&str> = binding.split_whitespace().collect();

if params.len() != values.len() {
panic!("Parameter count should match value count!")
}

let mut param_itr = params.iter();
let mut val_itr = values.iter();

let tag = names.next().unwrap();
values.next();
let tag = param_itr.next().unwrap().to_owned();
val_itr.next();

for name in names {
let val = values.next().ok_or(PDError::ProcessorOptionExtractError)?;
map.insert(tag.to_owned() + " " + &name.to_owned(), val.parse::<i64>()?);
for param in param_itr {
let val = val_itr.next().ok_or(PDError::ProcessorOptionExtractError)?;
map.insert(tag.to_owned() + " " + &param.to_owned(), val.parse::<u64>()?);
}
}

Expand Down Expand Up @@ -234,7 +237,7 @@ mod tests {
assert!(netstat.collect_data().unwrap() == ());
buffer.push(Data::NetstatRaw(netstat));
processed_buffer.push(Netstat::new().process_raw_data(buffer[0].clone()).unwrap());
let json = Netstat::new().get_data(processed_buffer, "run=test&get=values&key=IpExt: InNoECTPkts".to_string()).unwrap();
let json = Netstat::new().get_data(processed_buffer, "run=test&get=values&key=TcpExt: TCPDSACKRecv".to_string()).unwrap();
let values: Vec<NetstatEntry> = serde_json::from_str(&json).unwrap();
assert!(values.len() > 0);
match values[0].time {
Expand Down
2 changes: 1 addition & 1 deletion src/html_files/netstat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ function getNetstatEntry(run, parent_id, key, run_data) {
title: 'Time (s)',
},
yaxis: {
title: 'Packets',
title: 'Count',
},
}
Plotly.newPlot(TESTER, [netstat_data], layout, { frameMargins: 0 });
Expand Down

0 comments on commit 1887025

Please sign in to comment.