summaryrefslogtreecommitdiffstats
path: root/unit_trace/sanitizer.py
diff options
context:
space:
mode:
authorMac Mollison <mollison@cs.unc.edu>2011-01-31 16:40:54 -0500
committerMac Mollison <mollison@cs.unc.edu>2011-01-31 16:40:54 -0500
commitd2240e7a9b15d18dfd0f3cbe75f3adf1c9e7fabf (patch)
treef7d164c21716b55f3d9195f055db73505bbf951d /unit_trace/sanitizer.py
parent85a089c42749e1394ae12321564109f25fa8154f (diff)
Added support for visualizing arbitrary actions.
(By Jonathan, cherry-picked by Mac) Conflicts: unit_trace/trace_reader.py unit_trace/viz/canvas.py unit_trace/viz/graph.py unit_trace/viz/schedule.py
Diffstat (limited to 'unit_trace/sanitizer.py')
-rw-r--r--unit_trace/sanitizer.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/unit_trace/sanitizer.py b/unit_trace/sanitizer.py
index 598379a..fc66170 100644
--- a/unit_trace/sanitizer.py
+++ b/unit_trace/sanitizer.py
@@ -14,6 +14,8 @@ def sanitizer(stream):
14 job_2s_released = [] # list of tasks which have released their job 2s 14 job_2s_released = [] # list of tasks which have released their job 2s
15 jobs_switched_to = [] 15 jobs_switched_to = []
16 16
17 released = False
18
17 for record in stream: 19 for record in stream:
18 20
19 # Ignore records which are not events (e.g. the num_cpus record) 21 # Ignore records which are not events (e.g. the num_cpus record)
@@ -21,6 +23,13 @@ def sanitizer(stream):
21 yield record 23 yield record
22 continue 24 continue
23 25
26 if record.type_name == 'release':
27 released = released or True
28
29 if record.type_name == 'action' and released:
30 yield record
31 continue
32
24 # All records with job < 2 are garbage 33 # All records with job < 2 are garbage
25 if record.job < 2: 34 if record.job < 2:
26 continue 35 continue
@@ -50,4 +59,5 @@ def sanitizer(stream):
50 if (record.pid,record.job) not in jobs_switched_to: 59 if (record.pid,record.job) not in jobs_switched_to:
51 record.job -= 1 60 record.job -= 1
52 61
62
53 yield record 63 yield record