summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMac Mollison <mollison@cs.unc.edu>2010-04-03 19:08:52 -0400
committerMac Mollison <mollison@cs.unc.edu>2010-04-03 19:08:52 -0400
commitbd66e7ca131751d20c4dbb59cff9df4bd716f9e4 (patch)
tree611058eb9e5582900c6211f49976390139f38138
parent13e0520cafd6280bcdf90208c699a6925efd9fba (diff)
Noted visualizer dependencies in doc
Also, removed obsolete README file
-rw-r--r--README105
-rw-r--r--doc/index.txt2
2 files changed, 1 insertions, 106 deletions
diff --git a/README b/README
deleted file mode 100644
index 4c1b772..0000000
--- a/README
+++ /dev/null
@@ -1,105 +0,0 @@
1See the LITMUS Wiki page for a general explanation of this tool.
2
3unit_trace consists of two modules and a core. The ``core'' is basically
4a bunch of code, implemented as Python iterators, which converts the
5raw trace data into a sequence of record objects, implemented in
6Python. The modules are:
7
81) A simple module that outputs the contents of each record to
9stdout. This module, along with most of the core, can be found in the
10reader/ directory. There is a sample script -- look at
11sample_script.py in the reader/ directory (it's pretty
12self-explanatory). Note that Mac is the one who coded most of the
13this, though I can probably try to answer any questions about it since
14I've had to go in there from time to time.
15
162) The visualizer. Now, the GUI as it stands is very basic -- it's
17basically just a shell for the core visualizer component. How to open
18a file is obvious -- but note that you can open several files at a
19time (since more often than not a trace consists of more than one
20file, typically one for each CPU).
21
22Most of the code for this is in the viz/ directory, but to run it, the
23file you want to execute is visualizer.py (in the main directory).
24
25A few notes on how to use the GUI:
26
27-- How to scroll is pretty obvious, though I still need to implement
28 keypresses (very trivial, but when making a GUI component from
29 scratch it always seems like there are a million little things that
30 you need to do :)
31
32-- You can view either by task or by CPU; click the tabs at the top.
33
34-- Mousing over the items (not the axes, though, since those are
35 pretty self-explanatory) gives you information about the item that
36 you moused over, displayed at the bottom.
37
38-- You can select items. You can click them individually, one at a
39 time, or you can drag or ctrl-click to select multiple.
40
41-- What you have selected is independent of what mode (task or CPU)
42 you are operating in. So if you are curious, say, when a certain
43 job is running compared to other jobs on the same CPU, you can
44 click a job in task mode and then switch to CPU mode, and it will
45 remain selected.
46
47-- Right-click to get a menu of all the items you have selected (in
48 the future this menu will be clickable, so that you can get the
49 information about an item in its own window).
50
51-- It is a bit laggy when lots of stuff is on the screen at once. This
52 should be fairly easy to optimize, if I have correctly identified
53 the problem, but it's not a huge issue (it's not _that_ slow).
54
55But wait, there's more:
56
57-- As of now unit-trace has no way to determine the algorithm that was
58 used on the trace you're loading. This is important since certain
59 sections of code work only with G-EDF in particular. The point of
60 having this special code is either to filter out bogus data or to
61 generate extra information about the schedule (e.g. priority
62 inversions). Of course, you can leave these extra steps out and
63 it will still work, but you might get extra ``bogus'' information
64 generated by the tracer or you might not get all the information
65 you want.
66
67-- To add or remove these extra steps, take a look at visualizer.py
68 and sample_script.py. You will see some code like this:
69
70 stream = reader.trace_reader.trace_reader(file_list)
71 #stream = reader.sanitizer.sanitizer(stream)
72 #stream = reader.gedf_test.gedf_test(stream)
73
74 Uncommenting those lines will run the extra steps in the pipeline.
75 The sanitizer filters out some bogus data (stuff like ``pid 0''),
76 but so far it's only been coded for a select number of traces.
77 gedf_test generates extra information about G-EDF schedules
78 (the traces that are named st-g?-?.bin). If you try to run
79 gedf_test on anything else, it will most likely fail.
80
81-- What traces are you going to use? Well, you will probably want to
82 use your own, but there are some samples you can try in the traces/
83 directory (a couple of them do give error messages, however).
84
85How to install:
86
87You should type
88
89git clone -b wip-gary ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/unit-trace.git
90
91to check out the repository. Note that you shouldn't check out the
92master branch, as it's pretty outdated. It's all Python so far, so no
93compiling or anything like that is necessary.
94
95Requirements:
96
97You're going to need Python 2.5 to run this. You'll also need to
98install the pycairo and pygtk libraries. If anyone has questions about
99how to do this or what these are, ask me.
100
101Miscellanies:
102
103Of course, let me know if you find any bugs (I'm sure there are
104plenty, though, since this is fairly alpha software), if you're
105unable to run it, or if you have any questions. \ No newline at end of file
diff --git a/doc/index.txt b/doc/index.txt
index cc9c766..4e8b089 100644
--- a/doc/index.txt
+++ b/doc/index.txt
@@ -18,7 +18,7 @@ Members of UNC's Real-Time Group can obtain Unit-Trace using:<br>
18<codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/unit-trace.git</codeblock> 18<codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/unit-trace.git</codeblock>
19 19
20## Installing Unit-Trace ## 20## Installing Unit-Trace ##
21Unit-Trace is based on Python 2.6, so make sure that is available on your system. 21Dependencies: Python 2.6; for the visualizer, pygtk and pycairo.
22 22
23Unit_Trace consists of a Python module called `unit_trace` (encapsulated in the `unit_trace` directory) and a font-end script called `unit-trace`. 23Unit_Trace consists of a Python module called `unit_trace` (encapsulated in the `unit_trace` directory) and a font-end script called `unit-trace`.
24 24