diff options
author | Mac Mollison <mollison@cs.unc.edu> | 2010-03-26 13:08:32 -0400 |
---|---|---|
committer | Mac Mollison <mollison@cs.unc.edu> | 2010-03-26 13:08:32 -0400 |
commit | a7bf26bd5597661b51c42e34ad2fad4c315b8aed (patch) | |
tree | 8f6e16a8c8a8884336d36be9bab15dd3081f5562 | |
parent | 7dd68f20059d8aecbecf475042e7337129088428 (diff) |
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.
-rw-r--r-- | unit_trace/earliest.py | 2 | ||||
-rw-r--r-- | unit_trace/latest.py | 2 | ||||
-rw-r--r-- | unit_trace/stdout_printer.py | 1 | ||||
-rw-r--r-- | 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 @@ | |||
11 | def earliest(stream, earliest): | 11 | def earliest(stream, earliest): |
12 | for record in stream: | 12 | for record in stream: |
13 | if record.record_type=="event": | 13 | if record.record_type=="event": |
14 | if record.when < earliest: | 14 | if record.id < earliest: |
15 | pass | 15 | pass |
16 | else: | 16 | else: |
17 | yield record | 17 | 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 @@ | |||
11 | def latest(stream, latest): | 11 | def latest(stream, latest): |
12 | for record in stream: | 12 | for record in stream: |
13 | if record.record_type=="event": | 13 | if record.record_type=="event": |
14 | if record.when > latest: | 14 | if record.id > latest: |
15 | break | 15 | break |
16 | else: | 16 | else: |
17 | yield record | 17 | 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): | |||
27 | ############################################################################### | 27 | ############################################################################### |
28 | 28 | ||
29 | def _print_event(record): | 29 | def _print_event(record): |
30 | print "ID: %d" % (record.id) | ||
30 | print "Job: %d.%d" % (record.pid,record.job) | 31 | print "Job: %d.%d" % (record.pid,record.job) |
31 | print "Type: %s" % (record.type_name) | 32 | print "Type: %s" % (record.type_name) |
32 | print "Time: %d" % (record.when) | 33 | 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): | |||
75 | # fatally if they are not. | 75 | # fatally if they are not. |
76 | last_time = None | 76 | last_time = None |
77 | 77 | ||
78 | # We want to give records ID numbers so users can filter by ID | ||
79 | id = 0 | ||
80 | |||
78 | # Keep pulling records as long as we have a buffer | 81 | # Keep pulling records as long as we have a buffer |
79 | while len(file_iter_buff) > 0: | 82 | while len(file_iter_buff) > 0: |
80 | 83 | ||
@@ -109,6 +112,10 @@ def trace_reader(files): | |||
109 | else: | 112 | else: |
110 | last_time = earliest.when | 113 | last_time = earliest.when |
111 | 114 | ||
115 | # Give the record an id number | ||
116 | id += 1 | ||
117 | earliest.id = id | ||
118 | |||
112 | # Yield the record | 119 | # Yield the record |
113 | yield earliest | 120 | yield earliest |
114 | 121 | ||