From a7bf26bd5597661b51c42e34ad2fad4c315b8aed Mon Sep 17 00:00:00 2001 From: Mac Mollison Date: Fri, 26 Mar 2010 13:08:32 -0400 Subject: Enable filter by ID instead of time Filtering by time is too cumbersome (because time values are so large), so we give each event record an ID and filter by that instead in in the earliest and latest modules. --- unit_trace/earliest.py | 2 +- unit_trace/latest.py | 2 +- unit_trace/stdout_printer.py | 1 + unit_trace/trace_reader.py | 7 +++++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/unit_trace/earliest.py b/unit_trace/earliest.py index 2d963dc..03e08d7 100644 --- a/unit_trace/earliest.py +++ b/unit_trace/earliest.py @@ -11,7 +11,7 @@ def earliest(stream, earliest): for record in stream: if record.record_type=="event": - if record.when < earliest: + if record.id < earliest: pass else: yield record diff --git a/unit_trace/latest.py b/unit_trace/latest.py index 4abd3a2..38676a0 100644 --- a/unit_trace/latest.py +++ b/unit_trace/latest.py @@ -11,7 +11,7 @@ def latest(stream, latest): for record in stream: if record.record_type=="event": - if record.when > latest: + if record.id > latest: break else: yield record diff --git a/unit_trace/stdout_printer.py b/unit_trace/stdout_printer.py index 8842b71..d242bb6 100644 --- a/unit_trace/stdout_printer.py +++ b/unit_trace/stdout_printer.py @@ -27,6 +27,7 @@ def stdout_printer(stream): ############################################################################### def _print_event(record): + print "ID: %d" % (record.id) print "Job: %d.%d" % (record.pid,record.job) print "Type: %s" % (record.type_name) print "Time: %d" % (record.when) diff --git a/unit_trace/trace_reader.py b/unit_trace/trace_reader.py index 3cbce17..5cfbbe3 100644 --- a/unit_trace/trace_reader.py +++ b/unit_trace/trace_reader.py @@ -75,6 +75,9 @@ def trace_reader(files): # fatally if they are not. last_time = None + # We want to give records ID numbers so users can filter by ID + id = 0 + # Keep pulling records as long as we have a buffer while len(file_iter_buff) > 0: @@ -109,6 +112,10 @@ def trace_reader(files): else: last_time = earliest.when + # Give the record an id number + id += 1 + earliest.id = id + # Yield the record yield earliest -- cgit v1.2.2