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], |
