summaryrefslogtreecommitdiffstats
path: root/unit_trace/gedf_test.py
diff options
context:
space:
mode:
authorMac Mollison <mollison@cs.unc.edu>2010-03-26 13:51:39 -0400
committerMac Mollison <mollison@cs.unc.edu>2010-03-26 13:51:39 -0400
commit58d168e52c3de9f3a53d0aea802be5cab492ade6 (patch)
tree4c4656a6b876f4db0b850ee70273a4c0aa4125b7 /unit_trace/gedf_test.py
parenta7bf26bd5597661b51c42e34ad2fad4c315b8aed (diff)
Add inversion IDs and print them
Makes it easier to find inversion records in output
Diffstat (limited to 'unit_trace/gedf_test.py')
-rw-r--r--unit_trace/gedf_test.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/unit_trace/gedf_test.py b/unit_trace/gedf_test.py
index 41bab96..3f4e150 100644
--- a/unit_trace/gedf_test.py
+++ b/unit_trace/gedf_test.py
@@ -88,20 +88,26 @@ class Job(object):
88 self.is_complete = False 88 self.is_complete = False
89 self.inversion_start = None 89 self.inversion_start = None
90 self.inversion_end = None 90 self.inversion_end = None
91 self.inversion_start_id = None
91 def __str__(self): 92 def __str__(self):
92 return "(%d.%d:%d)" % (self.pid,self.job,self.deadline) 93 return "(%d.%d:%d)" % (self.pid,self.job,self.deadline)
93 94
94# G-EDF errors: the start or end of an inversion 95# G-EDF errors: the start or end of an inversion
95class Error(object): 96class Error(object):
97 id = 0
96 def __init__(self, job, eligible, on_cpu): 98 def __init__(self, job, eligible, on_cpu):
99 Error.id += 1
100 self.id = Error.id
97 self.job = copy.copy(job) 101 self.job = copy.copy(job)
98 self.eligible = copy.copy(eligible) 102 self.eligible = copy.copy(eligible)
99 self.on_cpu = copy.copy(on_cpu) 103 self.on_cpu = copy.copy(on_cpu)
100 self.record_type = 'error' 104 self.record_type = 'error'
101 if job.inversion_end is None: 105 if job.inversion_end is None:
102 self.type_name = 'inversion_start' 106 self.type_name = 'inversion_start'
107 job.inversion_start_id = self.id
103 else: 108 else:
104 self.type_name = 'inversion_end' 109 self.type_name = 'inversion_end'
110 self.inversion_start_id = job.inversion_start_id
105 111
106# Returns the position of a Job in a list, or None 112# Returns the position of a Job in a list, or None
107def _find_job(record,list): 113def _find_job(record,list):