in netbench-collector/src/bpftrace.rs [163:199]
fn entry(&mut self) -> Stats {
let current = &self.current;
let prev = &self.prev;
let cycles = current.cycles.saturating_sub(prev.cycles);
let instructions = current.instructions.saturating_sub(prev.instructions);
let branches = current.branches.saturating_sub(prev.branches);
let context_switches = current
.context_switches
.saturating_sub(prev.context_switches);
let syscalls = current.syscalls.saturating_sub(prev.syscalls);
let connections = current.connections.saturating_sub(prev.connections);
let accept = current.accept.saturating_sub(prev.accept);
let time = self.interval.as_millis() as u64 * self.count;
let time = Duration::from_millis(time);
Stats {
time,
cpu: current.cpu,
cycles,
instructions,
branches,
context_switches,
syscalls,
connections,
accept,
memory: current.memory,
virtual_memory: current.virtual_memory,
allocs: current.allocs,
reallocs: current.reallocs,
deallocs: current.deallocs,
connect_time: current.connect_time,
send: core::mem::take(&mut self.send),
receive: core::mem::take(&mut self.receive),
profiles: core::mem::take(&mut self.profiles),
}
}