diff options
| author | Mac Mollison <mollison@cs.unc.edu> | 2009-02-24 17:05:59 -0500 |
|---|---|---|
| committer | Mac Mollison <mollison@cs.unc.edu> | 2009-02-24 17:05:59 -0500 |
| commit | 150cdb350f75dc86bd6be23c6eb37719dc61d3cf (patch) | |
| tree | 9d29982278b641011242af0bf21b54b8d6f0ce9c | |
| parent | 7b8659ca348e02403e5d2681e268140a78cc959d (diff) | |
Added != as a filter comparator
| -rwxr-xr-x | sta.py | 19 |
1 files changed, 10 insertions, 9 deletions
| @@ -44,9 +44,9 @@ class Trace: | |||
| 44 | def filter(self, criteria): | 44 | def filter(self, criteria): |
| 45 | """Apply a filter to the trace""" | 45 | """Apply a filter to the trace""" |
| 46 | 46 | ||
| 47 | #Determine if they want to filter by >, <, or == | 47 | #Determine if they want to filter by >, <, !=, or == |
| 48 | comp = None | 48 | comp = None |
| 49 | seps = ['>','<','=='] | 49 | seps = ['>','<','==','!='] |
| 50 | for sep in seps: | 50 | for sep in seps: |
| 51 | if criteria.find(sep) > 0: | 51 | if criteria.find(sep) > 0: |
| 52 | comp = sep | 52 | comp = sep |
| @@ -71,9 +71,15 @@ class Trace: | |||
| 71 | """Return the number of records in the trace""" | 71 | """Return the number of records in the trace""" |
| 72 | return len(list(self.iter)) | 72 | return len(list(self.iter)) |
| 73 | 73 | ||
| 74 | def sort(self, func): | 74 | #Needs to be tested/finished |
| 75 | def sort(self, key): | ||
| 75 | """Return the records sorted by some key""" | 76 | """Return the records sorted by some key""" |
| 76 | self.iter = sorted(self.iter, key=func) | 77 | def sortfunc(record): |
| 78 | if key in record: | ||
| 79 | return record[key] | ||
| 80 | else: | ||
| 81 | return 0 | ||
| 82 | self.iter = sorted(self.iter, key=sortfunc) | ||
| 77 | 83 | ||
| 78 | 84 | ||
| 79 | #################################### | 85 | #################################### |
| @@ -88,7 +94,6 @@ class StHeader: | |||
| 88 | keys = ['type','cpu','pid','job'] | 94 | keys = ['type','cpu','pid','job'] |
| 89 | message = 'The header.' | 95 | message = 'The header.' |
| 90 | 96 | ||
| 91 | |||
| 92 | class StNameData: | 97 | class StNameData: |
| 93 | format = '16s' | 98 | format = '16s' |
| 94 | formatStr = struct.Struct(StHeader.format + format) | 99 | formatStr = struct.Struct(StHeader.format + format) |
| @@ -121,7 +126,6 @@ class StSwitchToData: | |||
| 121 | keys = StHeader.keys + ['when','exec_time'] | 126 | keys = StHeader.keys + ['when','exec_time'] |
| 122 | message = 'A process was switched to on a given CPU.' | 127 | message = 'A process was switched to on a given CPU.' |
| 123 | 128 | ||
| 124 | |||
| 125 | class StSwitchAwayData: | 129 | class StSwitchAwayData: |
| 126 | format = 'LI' | 130 | format = 'LI' |
| 127 | formatStr = struct.Struct(StHeader.format + format) | 131 | formatStr = struct.Struct(StHeader.format + format) |
| @@ -134,21 +138,18 @@ class StCompletionData: | |||
| 134 | keys = StHeader.keys + ['when','forced?','flags'] | 138 | keys = StHeader.keys + ['when','forced?','flags'] |
| 135 | message = 'A job completed.' | 139 | message = 'A job completed.' |
| 136 | 140 | ||
| 137 | |||
| 138 | class StBlockData: | 141 | class StBlockData: |
| 139 | format = 'L' | 142 | format = 'L' |
| 140 | formatStr = struct.Struct(StHeader.format + format) | 143 | formatStr = struct.Struct(StHeader.format + format) |
| 141 | keys = StHeader.keys + ['when'] | 144 | keys = StHeader.keys + ['when'] |
| 142 | message = 'A task blocks.' | 145 | message = 'A task blocks.' |
| 143 | 146 | ||
| 144 | |||
| 145 | class StResumeData: | 147 | class StResumeData: |
| 146 | format = 'L' | 148 | format = 'L' |
| 147 | formatStr = struct.Struct(StHeader.format + format) | 149 | formatStr = struct.Struct(StHeader.format + format) |
| 148 | keys = StHeader.keys + ['when'] | 150 | keys = StHeader.keys + ['when'] |
| 149 | message = 'A task resumes.' | 151 | message = 'A task resumes.' |
| 150 | 152 | ||
| 151 | |||
| 152 | class StSysReleaseData: | 153 | class StSysReleaseData: |
| 153 | format = 'LL' | 154 | format = 'LL' |
| 154 | formatStr = struct.Struct(StHeader.format + format) | 155 | formatStr = struct.Struct(StHeader.format + format) |
