summaryrefslogtreecommitdiffstats
path: root/unit_trace/trace_reader.py
Commit message (Collapse)AuthorAge
* Added support for visualizing arbitrary actions.Mac Mollison2011-01-31
| | | | | | | | | | | (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
* Improve behavior when out-of-order record detectedMac Mollison2010-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to sort records from different files into a single stream (in order of timestamp), unit-trace uses per-cpu buffers; the length of the buffers was previously hardcoded. If that length proved insufficient (resulting in out-of-order records), before this commit, unit-trace produced a FATAL ERROR and terminated. Now, unit-trace merely keeps a record of all out-of-order records and prints a warning at the end, listing them. The motivation for this change was the observation that at least some times, grossly out-of-order errors were at the very beginning of the trace (e.g. task system release), so they don't really matter. If we know the IDs of the records that are unordered, we are able to check (with the -o output) to see if their misordering actually matters or not. Moreover, the buffer size can now be specified with -b, and the previously hard-coded value (200) is the default. Making this number smaller greatly improves runtime, and vice versa. I suspect that further investigation into the problem of sorting records will show that the current method is overkill; down the road, we may be able to replace this method with something much faster. (The current method has the advantage that it is extremely scalable, but I don't think that pays off for the size of traces we typically examine.)
* Bugfix: Trace with 0 valid records ends iterationMac Mollison2010-03-28
|
* Sort next 200 records, not 100Mac Mollison2010-03-27
| | | | This allows the st_many_gsn trace to be parsed.
* Bugfix: small traces yield no eventsMac Mollison2010-03-27
| | | | | A bug caused traces with < 100 records (the number of records buffered and sorted) to yield no records.
* Enable filter by ID instead of timeMac Mollison2010-03-26
| | | | | | 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.
* Print warning on bad records rather than haltingMac Mollison2010-03-26
|
* Zapped a bunch of trailing whitespaceMac Mollison2010-03-20
|
* Added progress submodule to report progress.Mac Mollison2010-03-14
| | | | | | This submodule allows us to measure the speed at which trace files are processed and reports on its progress as it goes along.
* Further restructuring to create 'unit_trace' pkgMac Mollison2010-03-13
The unit_trace folder should be placed in /usr/local/lib/pythonX.Y/site-packages. This makes unit-trace submodules available from anywhere on the system.