diff options
author | Mac Mollison <mollison@cs.unc.edu> | 2010-03-13 16:50:44 -0500 |
---|---|---|
committer | Mac Mollison <mollison@cs.unc.edu> | 2010-03-13 16:50:44 -0500 |
commit | 6c682a0de6ad1d38ed928eb8e430273e2fb3c7ff (patch) | |
tree | 687fd18bfe57f75a78e1b694ccf5a9ff551a0a43 | |
parent | beab41dc5f360324549fd14b3daa8fce613e66ff (diff) |
Fix bug in doc. Stop tracking index.html.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | doc/index.html | 136 | ||||
-rw-r--r-- | doc/index.txt | 4 |
3 files changed, 3 insertions, 138 deletions
@@ -1 +1,2 @@ | |||
1 | *.pyc | 1 | *.pyc |
2 | doc/index.html | ||
diff --git a/doc/index.html b/doc/index.html deleted file mode 100644 index ad7564e..0000000 --- a/doc/index.html +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
2 | <head> | ||
3 | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | ||
4 | <title>Unit-Trace</title> | ||
5 | <style type="text/css"> | ||
6 | html { | ||
7 | background-color : #EFEBE7; | ||
8 | font-family : Arial, Helvetica, sans-serif; | ||
9 | margin-bottom : 0px; | ||
10 | margin-left : 0px; | ||
11 | margin-right : 0px; | ||
12 | margin-top : 0px; | ||
13 | padding-bottom : 0px; | ||
14 | padding-left : 0px; | ||
15 | padding-right : 0px; | ||
16 | padding-top : 0px; | ||
17 | } | ||
18 | h1 { | ||
19 | text-align: center; | ||
20 | } | ||
21 | |||
22 | h2 { | ||
23 | margin-top: 50px; | ||
24 | text-align: center; | ||
25 | } | ||
26 | codeblock { | ||
27 | padding: 0px 15px; | ||
28 | margin: 5px 0 15px; | ||
29 | border-left: 5px solid #666666; | ||
30 | background: #222222; | ||
31 | font: 1em/1.5 "Courier News", monospace; | ||
32 | color: #bbbbbb; | ||
33 | overflow : auto; | ||
34 | } | ||
35 | |||
36 | </style> | ||
37 | </head> | ||
38 | <body> | ||
39 | <div style="width: 60%; margin-left: auto; margin-right: auto; text-align: justify"> | ||
40 | <p><center></p> | ||
41 | |||
42 | <h1>Unit-Trace</h1> | ||
43 | |||
44 | <p></center></p> | ||
45 | |||
46 | <p><span style="font-weight: bold"> | ||
47 | Unit-Trace is a library of tools for parsing, testing, and visualizing real-time scheduler traces. | ||
48 | Unit-Trace is inspired by the philosophy of "unit testing", in which software is tested iteratively to ensure it behaves according to specification. | ||
49 | Unit-Trace aims to help scheduler developers not only determine whether or not bugs exist, but to actually aid in debugging by providing detailed | ||
50 | information about scheduler behavior. | ||
51 | </span></p> | ||
52 | |||
53 | <h2>About This Document</h2> | ||
54 | |||
55 | <p>This document contains instructions for people who want to use and/or contribute to Unit-Trace. | ||
56 | It is the complete documentation for Unit-Trace.</p> | ||
57 | |||
58 | <h2>Architecture</h2> | ||
59 | |||
60 | <p>Before trying to use Unit-Trace, it will help to understand the architecture of Unit-Trace.</p> | ||
61 | |||
62 | <p>The <code>unit_trace</code> Python module is installed in the Python <code>site_packages</code> directory, so that it can be | ||
63 | imported from and Python script on the system. | ||
64 | Thus, work with Unit-Trace is done by writing a short frontend script that makes use of the submodules | ||
65 | you need for the task at hand.</p> | ||
66 | |||
67 | <p>The <code>unit_trace</code> module consists of a number of submodules used to work with traces. | ||
68 | (Here, a <code>trace</code> is a record of scheduling events, produced by a scheduler, and may be contained in one or more <code>trace files</code> (for example, | ||
69 | one per CPU).</p> | ||
70 | |||
71 | <p>In a typical Unit-Trace script, a <code>parser</code> submodule produces a <strong>stream</strong> of <strong>records</strong>, which are then piped to | ||
72 | subsequent submodules, and finally piped to one or more modules that produce output.</p> | ||
73 | |||
74 | <p>For example, a user might write a script to invoke a parser on a set of trace files; pipe the resulting stream of event | ||
75 | records to the global EDF testing submodule, which adds error errors to the stream; pipe the stream to a submodule that computes statistics (for example, | ||
76 | the 10 lengthiest priority inversions) and produces relevant records; and finally, pipe the stream to a submodule that outputs all scheduling events, errors, and the | ||
77 | statistical information that was computed previously. | ||
78 | Seeing errors, the user may then wish to generate a visualization for a given time interval. | ||
79 | (All the functionality described in this scenario is available in the current version of Unit-Trace.)</p> | ||
80 | |||
81 | <p>This architecture provides a clean and flexible interface for working with scheduler traces. Because Python iterators are "lazy," producing items | ||
82 | (in this case, various records) only when necessary, this architecture avoids requiring that all trace information be read into memory at one time.</p> | ||
83 | |||
84 | <p>We provide a several frontend scripts for common tasks, but encourage users to customize these to better fix their specific needs. | ||
85 | We also provide useful submodules, but expect that users will need new submodules that do not yet exist | ||
86 | (for example, not PFAIR testing submodules exists). | ||
87 | We hope users will contribute any useful code that they produce back to the project.</p> | ||
88 | |||
89 | <h2>Obtaining Unit-Trace</h2> | ||
90 | |||
91 | <p>Members of UNC's Real-Time Group can obtain Unit-Trace using: <br /> | ||
92 | <codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/repo/litmus/unit-trace</codeblock></p> | ||
93 | |||
94 | <h2>Installing Unit-Trace</h2> | ||
95 | |||
96 | <p>Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 <code>site-packages</code> directory, usually located at | ||
97 | <code>/usr/lib/python2.6/site-packages/</code>. | ||
98 | Frontend scripts (i.e., scripts that <code>import unit_trace</code>) can then be used anywhere on the system. | ||
99 | The Unit-Trace code includes <code>install.py</code>, which automates (re)installation when called with <code>sudo</code>.</p> | ||
100 | |||
101 | <h2>Using Unit-Trace</h2> | ||
102 | |||
103 | <p>Example frontend scripts are included in the <code>scripts</code> folder, and can be used as-is for many tasks.</p> | ||
104 | |||
105 | <ul> | ||
106 | <li>gedf_test.py reads trace files passed as command-line arguments and prints out all scheduling events, priority inversions, and some statistics</li> | ||
107 | <li>visualize.py reads traces files passed as command-line arguments and draws the corresponding schedule.</li> | ||
108 | </ul> | ||
109 | |||
110 | <h2>Submodules</h2> | ||
111 | |||
112 | <p>TODO: All submodules will be documented thoroughly here.</p> | ||
113 | |||
114 | <h2>Development</h2> | ||
115 | |||
116 | <p>TODO: Information on how to contribute will be documented thoroughly here.</p> | ||
117 | |||
118 | <h2>Documentation</h2> | ||
119 | |||
120 | <p>The source code for this page is included in the <code>doc</code> folder that comes with Unit-Trace. | ||
121 | Contributors are required to make appropriate amendments to this documentation.</p> | ||
122 | |||
123 | <p>The source is stored in <a href="http://daringfireball.net/projects/markdown/">Markdown format</a> and can be built into HTML with <code>make</code>.</p> | ||
124 | |||
125 | <h2>Credits</h2> | ||
126 | |||
127 | <p>This project was created by and is maintained by the <a href="http://cs.unc.edu/~anderson/real-time">Real-Time Systems Group</a> at the <a href="http://www.unc.edu">University of North Carolina at Chapel Hill</a>, | ||
128 | <a href="http://cs.unc.edu">Department of Computer Science</a>. A detailed explanation of the tool is available in <a href="http://www.cs.unc.edu/%7Eanderson/papers/ospert09.pdf">this paper</a>, from | ||
129 | <a href="http://www.artist-embedded.org/artist/Overview,1750.html">the 2009 OSPERT workshop</a>.</p> | ||
130 | |||
131 | <p>We would like to extend special thanks to Gary Bressler, who created and maintains the <code>visualizer</code> submodule as a volunteer with our group.</p> | ||
132 | |||
133 | <p>We hope to have additional contributors in the future.</p> | ||
134 | </div> | ||
135 | </body> | ||
136 | </html> | ||
diff --git a/doc/index.txt b/doc/index.txt index 77ddc13..df73522 100644 --- a/doc/index.txt +++ b/doc/index.txt | |||
@@ -45,7 +45,7 @@ We hope users will contribute any useful code that they produce back to the proj | |||
45 | 45 | ||
46 | ## Obtaining Unit-Trace ## | 46 | ## Obtaining Unit-Trace ## |
47 | Members of UNC's Real-Time Group can obtain Unit-Trace using: | 47 | Members of UNC's Real-Time Group can obtain Unit-Trace using: |
48 | <codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/repo/litmus/unit-trace</codeblock> | 48 | <codeblock>git clone ssh://cvs.cs.unc.edu/cvs/proj/litmus/repo/unit-trace.git</codeblock> |
49 | 49 | ||
50 | ## Installing Unit-Trace ## | 50 | ## Installing Unit-Trace ## |
51 | Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 `site-packages` directory, usually located at | 51 | Unit-Trace is installed by copying the unit_trace folder (a Python module) to the system's Python 2.6 `site-packages` directory, usually located at |
@@ -69,7 +69,7 @@ TODO: Information on how to contribute will be documented thoroughly here. | |||
69 | The source code for this page is included in the `doc` folder that comes with Unit-Trace. | 69 | The source code for this page is included in the `doc` folder that comes with Unit-Trace. |
70 | Contributors are required to make appropriate amendments to this documentation. | 70 | Contributors are required to make appropriate amendments to this documentation. |
71 | 71 | ||
72 | The source is stored in [Markdown format][markdown] and can be built into HTML with `make`. | 72 | The source is stored in [Markdown format][markdown] in the file `index.txt` and can be built into HTML with `make`. |
73 | 73 | ||
74 | ## Credits ## | 74 | ## Credits ## |
75 | This project was created by and is maintained by the [Real-Time Systems Group][group] at the [University of North Carolina at Chapel Hill][uncch], | 75 | This project was created by and is maintained by the [Real-Time Systems Group][group] at the [University of North Carolina at Chapel Hill][uncch], |