From e00d5402f49329e0eddbeb5527750fbed262f7cc Mon Sep 17 00:00:00 2001 From: Stefan Koegl Date: Sun, 30 May 2010 18:07:02 +0200 Subject: [PATCH] compare records to previous record within 1s time frame --- bwmon/aggregator.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bwmon/aggregator.py b/bwmon/aggregator.py index 703b241..d179821 100644 --- a/bwmon/aggregator.py +++ b/bwmon/aggregator.py @@ -29,6 +29,7 @@ class Aggregator(): outpipe = self.launch_monitors() records = collections.defaultdict(list) + last_records = {} # records indexed by process; used for comparison for line in outpipe: record, process = self.get_record(line) @@ -38,15 +39,20 @@ class Aggregator(): records[process].append(record) - if len(records[process]) <= 1: + if not process in last_records: + last_records[process] = record continue - prev_record = records[process][-2] - bw = self.get_bandwidth(prev_record, record) + if (record['timestamp'] - last_records[process]['timestamp']).seconds <= 0: + continue + + bw = self.get_bandwidth(last_records[process], record) if not bw: continue + last_records[process] = record + print '%10d / %10d B/s -- %s' % (bw[0], bw[1], process) -- 2.11.4.GIT