summaryrefslogtreecommitdiffstats
path: root/runtime/docs/html/index.html
diff options
context:
space:
mode:
authorhunt <hunt>2005-03-22 08:57:11 +0000
committerhunt <hunt>2005-03-22 08:57:11 +0000
commitb9c556e44326b40b2c927a0a5b5626332a8c9587 (patch)
treed0497c9323dedcb292d353d79fef769fa6fef210 /runtime/docs/html/index.html
parent4a4753cb066f60eb09906a6021997ec280d3fdc5 (diff)
downloadsystemtap-steved-b9c556e44326b40b2c927a0a5b5626332a8c9587.tar.gz
systemtap-steved-b9c556e44326b40b2c927a0a5b5626332a8c9587.tar.xz
systemtap-steved-b9c556e44326b40b2c927a0a5b5626332a8c9587.zip
*** empty log message ***
Diffstat (limited to 'runtime/docs/html/index.html')
-rw-r--r--runtime/docs/html/index.html30
1 files changed, 17 insertions, 13 deletions
diff --git a/runtime/docs/html/index.html b/runtime/docs/html/index.html
index dd4edd27..bae6d763 100644
--- a/runtime/docs/html/index.html
+++ b/runtime/docs/html/index.html
@@ -3,16 +3,17 @@
<title>SystemTap: SystemTap Runtime Library</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
-<div class="qindex"><a class="qindex" href="index.html">Intro</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_defs.html">Defines</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration Values</a></div>
-
<!-- Generated by Doxygen 1.4.1 -->
+<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>SystemTap Runtime Library </h1>
<p>
<h3 align="center">0.1 </h3><h2><a class="anchor" name="intro_sec">
Introduction</a></h2>
The SystemTap Runtime Library consists of all functions and code fragments needed by the compiler/translator to include in building a kernel module using kprobes.<h2><a class="anchor" name="design_sec">
Design</a></h2>
-<h3><a class="anchor" name="map_sec">
+<h3><a class="anchor" name="impl_sec">
+Implementation</a></h3>
+The library is written in <code>C</code> and is really not a library but a collection of code That can be conditionally included in a modules. It will probably become a library later.<h3><a class="anchor" name="map_sec">
Maps (Associative Arrays)</a></h3>
Maps are implemented as hash lists. It is not expected that users will attempt to collect so much data in kernel space that performance problems will require more complex solutions such as AVL trees.<p>
Maps are created with <a class="el" href="map_8c.html#a3">_stp_map_new()</a>. Each map can hold only one type of data; int64, string, or statistics. Each element belonging to a map can have up to 2 keys and a value. Implemented key types are strings and longs.<p>
@@ -25,17 +26,20 @@ For example: <div class="fragment"><pre class="fragment">
map_key_str (mymap, <span class="stringliteral">"birth year"</span>);
map_set_int64 (mymap, 2000);
</pre></div><p>
-All elements have a default value of 0 (or NULL). Elements are only saved to the map when their value is set to something nonzero. This means that querying for the existance of a key is inexpensive because no element is created, just a hash table lookup.<p>
-A list is a special map which has internally ascending long integer keys. Adding a value to a list does not require setting a key first. See <a class="el" href="map_8c.html#a27">_stp_list_add_str()</a> and <a class="el" href="map_8c.html#a28">_stp_list_add_int64()</a>.<h2><a class="anchor" name="status_sec">
+All elements have a default value of 0 (or NULL). Elements are only saved to the map when their value is set to something nonzero. This means that querying for the existance of a key is inexpensive because no element is created, just a hash table lookup.<h3><a class="anchor" name="list_sec">
+Lists</a></h3>
+A list is a special map which has internally ascending long integer keys. Adding a value to a list does not require setting a key first. Create a list with <a class="el" href="map_8c.html#a3">_stp_map_new()</a>. Add to it with <a class="el" href="map_8c.html#a27">_stp_list_add_str()</a> and <a class="el" href="map_8c.html#a28">_stp_list_add_int64()</a>. Clear it with <a class="el" href="map_8c.html#a26">_stp_list_clear()</a>.<h2><a class="anchor" name="status_sec">
Status</a></h2>
-Maps are implemented and tested. Histograms are not yet finished.<p>
-Copy_From_User functions are done.<p>
-If maps overflow or memory runs out for some reason, globals are set but nothing is done yet. I expect to implement a function to tell the system to either ignore it or unload the module and quit.<h2><a class="anchor" name="probe_sec">
+<ul>
+<li>Maps are implemented and tested. Histograms are not yet finished. </li>
+<li>Copy_From_User functions are done. </li>
+<li>If maps overflow or memory runs out for some reason, globals are set but nothing is done yet. I expect to implement a function to tell the system to either ignore it or unload the module and quit. </li>
+<li>Locking and per-cpu data are not yet implemented to be SMP-safe. This is not yet necessary because the current kprobes implementation single-threads probes for us.</li>
+</ul>
+<h2><a class="anchor" name="probe_sec">
Example Probes</a></h2>
-Working sample probe code using the runtime is in runtime/probes.<h2><a class="anchor" name="todo_sec">
+Working sample probe code using the runtime is in runtime/probes. <a href="dir_000000.html">Browse probes.</a><h2><a class="anchor" name="todo_sec">
ToDo</a></h2>
-<a class="el" href="todo.html">Click Here for Complete List </a> The Runtime Library is not actually a library yet. It is just a collection of functions included in the probe boilerplate. Maybe it should stay that way to allow the translator more flexibility in what is included. <hr size="1"><address style="align: right;"><small>Generated on Mon Mar 21 13:29:45 2005 for SystemTap by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
-</body>
+<a class="el" href="todo.html">Click Here for Complete List </a> <hr size="1"><address style="align: right;"><small>
+Generated on Tue Mar 22 00:32:02 2005 for SystemTap.</small></body>
</html>