diff options
Diffstat (limited to 'unit_trace/trace_reader.py')
-rw-r--r-- | unit_trace/trace_reader.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/unit_trace/trace_reader.py b/unit_trace/trace_reader.py index db36c13..c895cf2 100644 --- a/unit_trace/trace_reader.py +++ b/unit_trace/trace_reader.py | |||
@@ -91,7 +91,6 @@ def trace_reader(files, buffsize): | |||
91 | 91 | ||
92 | # Keep pulling records as long as we have a buffer | 92 | # Keep pulling records as long as we have a buffer |
93 | while len(file_iter_buff) > 0: | 93 | while len(file_iter_buff) > 0: |
94 | |||
95 | # Select the earliest record from those at the heads of the buffers | 94 | # Select the earliest record from those at the heads of the buffers |
96 | earliest = -1 | 95 | earliest = -1 |
97 | buff_to_refill = -1 | 96 | buff_to_refill = -1 |
@@ -205,6 +204,12 @@ class StHeader: | |||
205 | keys = ['type','cpu','pid','job'] | 204 | keys = ['type','cpu','pid','job'] |
206 | message = 'The header.' | 205 | message = 'The header.' |
207 | 206 | ||
207 | class StActionData: | ||
208 | format = 'Qb' | ||
209 | formatStr = struct.Struct(StHeader.format + format) | ||
210 | keys = StHeader.keys + ['when','action'] | ||
211 | message = 'An action was performed.' | ||
212 | |||
208 | class StNameData: | 213 | class StNameData: |
209 | format = '16s' | 214 | format = '16s' |
210 | formatStr = struct.Struct(StHeader.format + format) | 215 | formatStr = struct.Struct(StHeader.format + format) |
@@ -271,7 +276,7 @@ class StSysReleaseData: | |||
271 | def _get_type(type_num): | 276 | def _get_type(type_num): |
272 | types = [None,StNameData,StParamData,StReleaseData,StAssignedData, | 277 | types = [None,StNameData,StParamData,StReleaseData,StAssignedData, |
273 | StSwitchToData,StSwitchAwayData,StCompletionData,StBlockData, | 278 | StSwitchToData,StSwitchAwayData,StCompletionData,StBlockData, |
274 | StResumeData,StSysReleaseData] | 279 | StResumeData,StActionData,StSysReleaseData] |
275 | if type_num > len(types)-1 or type_num < 1: | 280 | if type_num > len(types)-1 or type_num < 1: |
276 | raise Exception | 281 | raise Exception |
277 | return types[type_num] | 282 | return types[type_num] |
@@ -280,5 +285,5 @@ def _get_type(type_num): | |||
280 | # programmers of other modules) | 285 | # programmers of other modules) |
281 | def _get_type_name(type_num): | 286 | def _get_type_name(type_num): |
282 | type_names = [None,"name","params","release","assign","switch_to", | 287 | type_names = [None,"name","params","release","assign","switch_to", |
283 | "switch_away","completion","block","resume","sys_release"] | 288 | "switch_away","completion","block","resume","action","sys_release"] |
284 | return type_names[type_num] | 289 | return type_names[type_num] |