summaryrefslogtreecommitdiffstats
path: root/SystemTap_Beginners_Guide
diff options
authorwcohen <wcohen>2012-06-29 14:55:57 +0000
committerwcohen <wcohen>2012-06-29 14:55:57 +0000
commitdd5c0fe907fe265ae4a759b2511f2c035246d4fa (patch)
tree1fbd36d540fa227a8e2d7b7bdcadbb0e4fdbd608 /SystemTap_Beginners_Guide
parentUpdate the website man pages to SystemTap 1.7 (diff)
Remove old Systemtap-1.7 beginners guide
Diffstat (limited to 'SystemTap_Beginners_Guide')
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/css/common.css1495
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/css/default.css3
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/css/lang.css2
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/css/overrides.css51
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/css/print.css16
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/1.pngbin690 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/1.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/10.pngbin982 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/10.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/11.pngbin806 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/11.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/12.pngbin953 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/12.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/13.pngbin1015 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/13.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/14.pngbin933 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/14.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/15.pngbin996 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/15.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/16.pngbin1030 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/16.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/17.pngbin870 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/17.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/18.pngbin1001 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/18.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/19.pngbin1013 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/19.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/2.pngbin808 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/2.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/20.pngbin1121 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/20.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/21.pngbin981 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/21.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/22.pngbin1057 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/22.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/23.pngbin1120 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/23.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/24.pngbin1083 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/24.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/25.pngbin1182 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/25.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/26.pngbin1215 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/26.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/27.pngbin1086 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/27.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/28.pngbin1251 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/28.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/29.pngbin1212 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/29.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/3.pngbin868 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/3.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/30.pngbin1267 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/30.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/31.pngbin1083 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/31.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/32.pngbin1244 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/32.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/33.pngbin1279 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/33.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/34.pngbin1178 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/34.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/35.pngbin1235 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/35.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/36.pngbin1286 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/36.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/37.pngbin1155 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/37.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/38.pngbin1325 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/38.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/39.pngbin1300 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/39.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/4.pngbin794 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/4.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/40.pngbin1145 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/40.svg31
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/5.pngbin853 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/5.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/6.pngbin865 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/6.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/7.pngbin742 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/7.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/8.pngbin862 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/8.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/9.pngbin860 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/9.svg22
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/bkgrnd_greydots.pngbin157 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/bullet_arrowblue.pngbin177 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/documentation.pngbin623 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/dot.pngbin98 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/dot2.pngbin98 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/green.pngbin176 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/h1-bg.pngbin565 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/image_left.pngbin1114 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/image_right.pngbin4092 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/important.pngbin2080 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/important.svg106
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/logo.pngbin1114 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/note.pngbin1241 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/note.svg111
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/red.pngbin163 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/shade.pngbin101 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/shine.pngbin146 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/stock-go-back.pngbin828 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/stock-go-forward.pngbin828 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/stock-go-up.pngbin760 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/stock-home.pngbin808 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/title_logo.pngbin13399 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/title_logo.svg109
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/warning.pngbin1340 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/warning.svg89
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/watermark-draft.pngbin25365 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/Common_Content/images/yellow.pngbin175 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/SystemTap_Beginners_Guide-Preface.html90
-rw-r--r--SystemTap_Beginners_Guide/appe-Publican-Revision_History.html12
-rw-r--r--SystemTap_Beginners_Guide/arrayoperators.html13
-rw-r--r--SystemTap_Beginners_Guide/arrayops-aggregates.html42
-rw-r--r--SystemTap_Beginners_Guide/arrayops-conditionals.html43
-rw-r--r--SystemTap_Beginners_Guide/arrayops-deleting.html44
-rw-r--r--SystemTap_Beginners_Guide/arrayops-foreach.html30
-rw-r--r--SystemTap_Beginners_Guide/arrayops-increment.html12
-rw-r--r--SystemTap_Beginners_Guide/arrayops-readvalues.html11
-rw-r--r--SystemTap_Beginners_Guide/associativearrays.html15
-rw-r--r--SystemTap_Beginners_Guide/commandlineargssect.html8
-rw-r--r--SystemTap_Beginners_Guide/cross-compiling.html59
-rw-r--r--SystemTap_Beginners_Guide/errors.html56
-rw-r--r--SystemTap_Beginners_Guide/futexcontentionsect.html54
-rw-r--r--SystemTap_Beginners_Guide/handlerconditionalstatements.html49
-rwxr-xr-xSystemTap_Beginners_Guide/images/gnuplotsample.pngbin8286 -> 0 bytes
-rw-r--r--SystemTap_Beginners_Guide/images/icon.svg3936
-rw-r--r--SystemTap_Beginners_Guide/index.html18
-rw-r--r--SystemTap_Beginners_Guide/inodewatch2sect.html29
-rw-r--r--SystemTap_Beginners_Guide/inodewatchsect.html35
-rw-r--r--SystemTap_Beginners_Guide/intro-systemtap-vs-others.html13
-rw-r--r--SystemTap_Beginners_Guide/introduction.html19
-rw-r--r--SystemTap_Beginners_Guide/ioblktimesect.html47
-rw-r--r--SystemTap_Beginners_Guide/iotimesect.html119
-rw-r--r--SystemTap_Beginners_Guide/ix01.html3
-rw-r--r--SystemTap_Beginners_Guide/mainsect-disk.html113
-rw-r--r--SystemTap_Beginners_Guide/mainsect-profiling.html59
-rw-r--r--SystemTap_Beginners_Guide/paracallgraph.html55
-rw-r--r--SystemTap_Beginners_Guide/pr01s02.html9
-rw-r--r--SystemTap_Beginners_Guide/references.html23
-rw-r--r--SystemTap_Beginners_Guide/runtimeerror.html21
-rw-r--r--SystemTap_Beginners_Guide/scriptconstructions.html24
-rw-r--r--SystemTap_Beginners_Guide/scripts.html85
-rw-r--r--SystemTap_Beginners_Guide/syscallsbyprocpidsect.html91
-rw-r--r--SystemTap_Beginners_Guide/systemtapscript-handler.html107
-rw-r--r--SystemTap_Beginners_Guide/targetavailable.html15
-rw-r--r--SystemTap_Beginners_Guide/targetvariables.html47
-rw-r--r--SystemTap_Beginners_Guide/threadtimessect.html67
-rw-r--r--SystemTap_Beginners_Guide/timeoutssect.html148
-rw-r--r--SystemTap_Beginners_Guide/topsyssect.html56
-rw-r--r--SystemTap_Beginners_Guide/traceio2sect.html41
-rw-r--r--SystemTap_Beginners_Guide/traceiosect.html78
-rw-r--r--SystemTap_Beginners_Guide/typecasting.html11
-rw-r--r--SystemTap_Beginners_Guide/understanding-how-systemtap-works.html23
-rw-r--r--SystemTap_Beginners_Guide/understanding-tapsets.html11
-rw-r--r--SystemTap_Beginners_Guide/useful-systemtap-scripts.html298
-rw-r--r--SystemTap_Beginners_Guide/userspace-probing.html35
-rw-r--r--SystemTap_Beginners_Guide/using-systemtap.html83
-rw-r--r--SystemTap_Beginners_Guide/using-usage.html64
-rw-r--r--SystemTap_Beginners_Guide/ustack.html31
-rw-r--r--SystemTap_Beginners_Guide/utargetvariable.html17
163 files changed, 0 insertions, 9384 deletions
diff --git a/SystemTap_Beginners_Guide/Common_Content/css/common.css b/SystemTap_Beginners_Guide/Common_Content/css/common.css
deleted file mode 100644
index f9603b70..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/css/common.css
+++ /dev/null
@@ -1,1495 +0,0 @@
1body, h1, h2, h3, h4, h5, h6, pre, li, div {
2 line-height: 1.29em;
3}
4
5body {
6 background-color: white;
7 margin:0 auto;
8 font-family: "liberation sans", "Myriad ", "Bitstream Vera Sans", "Lucida Grande", "Luxi Sans", "Trebuchet MS", helvetica, verdana, arial, sans-serif;
9 font-size:12px;
10 max-width:55em;
11 color:black;
12}
13
14body.toc_embeded {
15 /*for web hosting system only*/
16 margin-left: 300px;
17}
18
19object.toc, iframe.toc {
20 /*for web hosting system only*/
21 border-style:none;
22 position:fixed;
23 width:290px;
24 height:99.99%;
25 top:0;
26 left:0;
27 z-index: 100;
28 border-style:none;
29 border-right:1px solid #999;
30}
31
32/* Hide web menu */
33
34body.notoc {
35 margin-left: 3em;
36}
37
38iframe.notoc {
39 border-style:none;
40 border: none;
41 padding: 0em;
42 position:fixed;
43 width: 21px;
44 height: 29px;
45 top: 0px;
46 left:0;
47 overflow: hidden;
48 margin: 0em;
49 margin-left: -3px;
50}
51/* End hide web menu */
52
53/* desktop styles */
54body.desktop {
55 margin-left: 26em;
56}
57
58body.desktop .book > .toc {
59 display:block;
60 width:24em;
61 height:99%;
62 position:fixed;
63 overflow:auto;
64 top:0px;
65 left:0px;
66 padding-left:1em;
67 background-color:#EEEEEE;
68}
69
70.toc {
71 line-height:1.35em;
72}
73
74.toc .glossary,
75.toc .chapter, .toc .appendix {
76 margin-top:1em;
77}
78
79.toc .part {
80 margin-top:1em;
81 display:block;
82}
83
84span.glossary,
85span.appendix {
86 display:block;
87 margin-top:0.5em;
88}
89
90div {
91 padding-top:0px;
92}
93
94div.section {
95 padding-top:1em;
96}
97
98p, div.para, div.formalpara {
99 padding-top:0px;
100 margin-top:0.3em;
101 padding-bottom:0px;
102 margin-bottom:1em;
103}
104
105/*Links*/
106a {
107 outline: none;
108}
109
110a:link {
111 text-decoration:none;
112 border-bottom: 1px dotted ;
113 color:#3366cc;
114}
115
116a:visited {
117 text-decoration:none;
118 border-bottom: 1px dotted ;
119 color:#003366;
120}
121
122div.longdesc-link {
123 float:right;
124 color:#999;
125}
126
127.toc a, .qandaset a {
128 font-weight:normal;
129}
130
131/*headings*/
132h1, h2, h3, h4, h5, h6 {
133 color: #336699;
134 margin-top: 0em;
135 margin-bottom: 0em;
136 background-color: transparent;
137}
138
139h1 {
140 font-size:2.0em;
141}
142
143.titlepage h1.title {
144 font-size: 3.0em;
145 padding-top: 1em;
146 text-align:left;
147}
148
149.book > .titlepage h1.title {
150 text-align:center;
151}
152
153.article > .titlepage h1.title {
154 text-align:center;
155}
156
157.set .titlepage > div > div > h1.title {
158 text-align:center;
159}
160
161.producttitle {
162 margin-top: 0em;
163 margin-bottom: 0em;
164 font-size: 3.0em;
165 font-weight: bold;
166 background: #003d6e url(../images/h1-bg.png) top left repeat-x;
167 color: white;
168 text-align: center;
169 padding: 0.7em;
170}
171
172.titlepage .corpauthor {
173 margin-top: 1em;
174 text-align: center;
175}
176
177.section h1.title {
178 font-size: 1.6em;
179 padding: 0em;
180 color: #336699;
181 text-align: left;
182 background: white;
183}
184
185h2 {
186 font-size:1.6em;
187}
188
189
190h2.subtitle, h3.subtitle {
191 margin-top: 1em;
192 margin-bottom: 1em;
193 font-size: 1.4em;
194 text-align: center;
195}
196
197.preface > div > div > div > h2.title {
198 margin-top: 1em;
199 font-size: 2.0em;
200}
201
202.appendix h2 {
203 margin-top: 1em;
204 font-size: 2.0em;
205}
206
207
208
209h3 {
210 font-size:1.3em;
211 padding-top:0em;
212 padding-bottom:0em;
213}
214h4 {
215 font-size:1.1em;
216 padding-top:0em;
217 padding-bottom:0em;
218}
219
220h5 {
221 font-size:1em;
222}
223
224h6 {
225 font-size:1em;
226}
227
228h5.formalpara {
229 font-size:1em;
230 margin-top:2em;
231 margin-bottom:.8em;
232}
233
234.abstract h6 {
235 margin-top:1em;
236 margin-bottom:.5em;
237 font-size:2em;
238}
239
240/*element rules*/
241hr {
242 border-collapse: collapse;
243 border-style:none;
244 border-top: 1px dotted #ccc;
245 width:100%;
246 margin-top: 3em;
247}
248
249/* web site rules */
250ul.languages, .languages li {
251 display:inline;
252 padding:0em;
253}
254
255.languages li a {
256 padding:0em .5em;
257 text-decoration: none;
258}
259
260.languages li p, .languages li div.para {
261 display:inline;
262}
263
264.languages li a:link, .languages li a:visited {
265 color:#444;
266}
267
268.languages li a:hover, .languages li a:focus, .languages li a:active {
269 color:black;
270}
271
272ul.languages {
273 display:block;
274 background-color:#eee;
275 padding:.5em;
276}
277
278/*supporting stylesheets*/
279
280/*unique to the webpage only*/
281.books {
282 position:relative;
283}
284
285.versions li {
286 width:100%;
287 clear:both;
288 display:block;
289}
290
291a.version {
292 font-size:2em;
293 text-decoration:none;
294 width:100%;
295 display:block;
296 padding:1em 0em .2em 0em;
297 clear:both;
298}
299
300a.version:before {
301 content:"Version";
302 font-size:smaller;
303}
304
305a.version:visited, a.version:link {
306 color:#666;
307}
308
309a.version:focus, a.version:hover {
310 color:black;
311}
312
313.books {
314 display:block;
315 position:relative;
316 clear:both;
317 width:100%;
318}
319
320.books li {
321 display:block;
322 width:200px;
323 float:left;
324 position:relative;
325 clear: none ;
326}
327
328.books .html {
329 width:170px;
330 display:block;
331}
332
333.books .pdf {
334 position:absolute;
335 left:170px;
336 top:0px;
337 font-size:smaller;
338}
339
340.books .pdf:link, .books .pdf:visited {
341 color:#555;
342}
343
344.books .pdf:hover, .books .pdf:focus {
345 color:#000;
346}
347
348.books li a {
349 text-decoration:none;
350}
351
352.books li a:hover {
353 color:black;
354}
355
356/*products*/
357.products li {
358 display: block;
359 width:300px;
360 float:left;
361}
362
363.products li a {
364 width:300px;
365 padding:.5em 0em;
366}
367
368.products ul {
369 clear:both;
370}
371
372/*revision history*/
373.revhistory {
374 display:block;
375}
376
377.revhistory table {
378 background-color:transparent;
379 border-color:#fff;
380 padding:0em;
381 margin: 0;
382 border-collapse:collapse;
383 border-style:none;
384}
385
386.revhistory td {
387 text-align :left;
388 padding:0em;
389 border: none;
390 border-top: 1px solid #fff;
391 font-weight: bold;
392}
393
394.revhistory .simplelist td {
395 font-weight: normal;
396}
397
398.revhistory .simplelist {
399 margin-bottom: 1.5em;
400 margin-left: 1em;
401}
402
403.revhistory table th {
404 display: none;
405}
406
407
408/*credits*/
409.authorgroup div {
410 clear:both;
411 text-align: center;
412}
413
414h3.author {
415 margin: 0em;
416 padding: 0em;
417 padding-top: 1em;
418}
419
420.authorgroup h4 {
421 padding: 0em;
422 margin: 0em;
423 padding-top: 1em;
424 margin-top: 1em;
425}
426
427.author,
428.editor,
429.translator,
430.othercredit,
431.contrib {
432 display: block;
433}
434
435.revhistory .author {
436 display: inline;
437}
438
439.othercredit h3 {
440 padding-top: 1em;
441}
442
443
444.othercredit {
445 margin:0em;
446 padding:0em;
447}
448
449.releaseinfo {
450 clear: both;
451}
452
453.copyright {
454 margin-top: 1em;
455}
456
457/* qanda sets */
458.answer {
459 margin-bottom:1em;
460 border-bottom:1px dotted #ccc;
461}
462
463.qandaset .toc {
464 border-bottom:1px dotted #ccc;
465}
466
467.question {
468 font-weight:bold;
469}
470
471.answer .data, .question .data {
472 padding-left: 2.6em;
473}
474
475.answer label, .question label {
476 float:left;
477 font-weight:bold;
478}
479
480/* inline syntax highlighting */
481.perl_Alert {
482 color: #0000ff;
483}
484
485.perl_BaseN {
486 color: #007f00;
487}
488
489.perl_BString {
490 color: #5C3566;
491}
492
493.perl_Char {
494 color: #ff00ff;
495}
496
497.perl_Comment {
498 color: #FF00FF;
499}
500
501
502.perl_DataType {
503 color: #0000ff;
504}
505
506
507.perl_DecVal {
508 color: #00007f;
509}
510
511
512.perl_Error {
513 color: #ff0000;
514}
515
516
517.perl_Float {
518 color: #00007f;
519}
520
521
522.perl_Function {
523 color: #007f00;
524}
525
526
527.perl_IString {
528 color: #5C3566;
529}
530
531
532.perl_Keyword {
533 color: #002F5D;
534}
535
536
537.perl_Operator {
538 color: #ffa500;
539}
540
541
542.perl_Others {
543 color: #b03060;
544}
545
546
547.perl_RegionMarker {
548 color: #96b9ff;
549}
550
551
552.perl_Reserved {
553 color: #9b30ff;
554}
555
556
557.perl_String {
558 color: #5C3566;
559}
560
561
562.perl_Variable {
563 color: #0000ff;
564}
565
566
567.perl_Warning {
568 color: #0000ff;
569}
570
571/*Lists*/
572ul {
573 padding-left:1.6em;
574 list-style-image:url(../images/dot.png);
575 list-style-type: circle;
576}
577
578ul ul {
579 list-style-image:url(../images/dot2.png);
580 list-style-type: circle;
581}
582
583ol {
584 list-style-image:none;
585 list-style-type: decimal;
586}
587
588ol ol {
589 list-style-type: lower-alpha;
590}
591
592ol.arabic {
593 list-style-type: decimal;
594}
595
596ol.loweralpha {
597 list-style-type: lower-alpha;
598}
599
600ol.lowerroman {
601 list-style-type: lower-roman;
602}
603
604ol.upperalpha {
605 list-style-type: upper-alpha;
606}
607
608ol.upperroman {
609 list-style-type: upper-roman;
610}
611
612dt {
613 font-weight:bold;
614 margin-bottom:0em;
615 padding-bottom:0em;
616}
617
618dd {
619 margin:0em;
620 margin-left:2em;
621 padding-top:0em;
622 padding-bottom: 1em;
623}
624
625li {
626 padding-top:0px;
627 margin-top:0em;
628 padding-bottom:0px;
629 margin-bottom:0.4em;
630}
631
632li p, li div.para {
633 padding-top:0px;
634 margin-top:0em;
635 padding-bottom:0px;
636 margin-bottom:0.3em;
637}
638
639/*images*/
640img {
641 display:block;
642 margin: 2em 0;
643}
644
645.inlinemediaobject, .inlinemediaobject img {
646 display:inline;
647 margin:0em;
648}
649
650.figure img {
651 display:block;
652 margin:0;
653}
654
655.figure .title {
656 margin:0em;
657 margin-bottom:2em;
658 padding:0px;
659}
660
661/*document modes*/
662.confidential {
663 background-color:#900;
664 color:White;
665 padding:.5em .5em;
666 text-transform:uppercase;
667 text-align:center;
668}
669
670.longdesc-link {
671 display:none;
672}
673
674.longdesc {
675 display:none;
676}
677
678.prompt {
679 padding:0em .3em;
680}
681
682/*user interface styles*/
683.screen .replaceable {
684}
685
686.guibutton, .guilabel {
687 font-family: "liberation mono", "bitstream vera mono", "dejavu mono", monospace;
688 font-weight: bold;
689 white-space: nowrap;
690}
691
692.example {
693 background-color: #ffffff;
694 border-left: 3px solid #aaaaaa;
695 padding-top: 1em;
696 padding-bottom: 0.1em;
697}
698
699.example h6 {
700 padding-left: 10px;
701}
702
703.example-contents {
704 padding-left: 10px;
705 background-color: #ffffff;
706}
707
708.example-contents .para {
709/* padding: 10px;*/
710}
711
712/*terminal/console text*/
713.computeroutput,
714.option {
715 font-family:"liberation mono", "bitstream vera mono", "dejavu mono", monospace;
716 font-weight:bold;
717}
718
719.replaceable {
720 font-family:"liberation mono", "bitstream vera mono", "dejavu mono", monospace;
721 font-style: italic;
722}
723
724.command, .filename, .keycap, .classname, .literal {
725 font-family:"liberation mono", "bitstream vera mono", "dejavu mono", monospace;
726 font-weight:bold;
727}
728
729/* no bold in toc */
730.toc * {
731 font-weight: inherit;
732}
733
734pre {
735 font-family:"liberation mono", "bitstream vera mono", "dejavu mono", monospace;
736 display:block;
737 background-color: #f5f5f5;
738 color: #000000;
739 border: 1px solid #aaaaaa;
740 margin-bottom: 0.3em;
741 padding:.5em 1em;
742 white-space: pre-wrap; /* css-3 */
743 white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
744 white-space: -pre-wrap; /* Opera 4-6 */
745 white-space: -o-pre-wrap; /* Opera 7 */
746 word-wrap: break-word; /* Internet Explorer 5.5+ */
747 font-size: 0.9em;
748}
749
750pre .replaceable,
751pre .keycap {
752}
753
754code {
755 font-family:"liberation mono", "bitstream vera mono", "dejavu mono", monospace;
756 white-space: nowrap;
757 font-weight:bold;
758}
759
760.parameter code {
761 display: inline;
762 white-space: pre-wrap; /* css-3 */
763 white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
764 white-space: -pre-wrap; /* Opera 4-6 */
765 white-space: -o-pre-wrap; /* Opera 7 */
766 word-wrap: break-word; /* Internet Explorer 5.5+ */
767}
768
769/*Notifications*/
770div.warning:before {
771 content:url(../images/warning.png);
772 padding-left: 5px;
773}
774
775div.note:before {
776 content:url(../images/note.png);
777 padding-left: 5px;
778}
779
780div.important:before {
781 content:url(../images/important.png);
782 padding-left: 5px;
783}
784
785div.warning, div.note, div.important {
786 color: black;
787 margin: 0em;
788 padding: 0em;
789 background: none;
790 background-color: white;
791 margin-bottom: 1em;
792 border-bottom: 1px solid #aaaaaa;
793}
794
795div.warning h2, div.note h2,div.important h2 {
796 margin: 0em;
797 padding: 0em;
798 color: #eeeeec;
799 padding-top: 0px;
800 padding-bottom: 0px;
801 height: 1.4em;
802 line-height: 1.4em;
803 font-size: 1.4em;
804 display:inline;
805}
806
807div.admonition_header {
808 clear: both;
809 margin: 0em;
810 padding: 0em;
811 margin-top: -3.3em;
812 padding-left: 58px;
813 line-height: 1.0em;
814 font-size: 1.0em;
815}
816
817div.warning div.admonition_header {
818 background: url(../images/red.png) top left repeat-x;
819 background-color: #590000;
820}
821
822div.note div.admonition_header {
823 background: url(../images/green.png) top right repeat-x;
824 background-color: #597800;
825}
826
827div.important div.admonition_header {
828 background: url(../images/yellow.png) top right repeat-x;
829 background-color: #a6710f;
830}
831
832div.warning p, div.warning div.para,
833div.note p, div.note div.para,
834div.important p, div.important div.para {
835 padding: 0em;
836 margin: 0em;
837}
838
839div.admonition {
840 border: none;
841 border-left: 1px solid #aaaaaa;
842 border-right: 1px solid #aaaaaa;
843 padding:0em;
844 margin:0em;
845 padding-top: 1.5em;
846 padding-bottom: 1em;
847 padding-left: 2em;
848 padding-right: 1em;
849 background-color: #eeeeec;
850 -moz-border-radius: 0px;
851 -webkit-border-radius: 0px;
852 border-radius: 0px;
853}
854
855/*Page Title*/
856#title {
857 display:block;
858 height:45px;
859 padding-bottom:1em;
860 margin:0em;
861}
862
863#title a.left{
864 display:inline;
865 border:none;
866}
867
868#title a.left img{
869 border:none;
870 float:left;
871 margin:0em;
872 margin-top:.7em;
873}
874
875#title a.right {
876 padding-bottom:1em;
877}
878
879#title a.right img {
880 border:none;
881 float:right;
882 margin:0em;
883 margin-top:.7em;
884}
885
886/*Table*/
887table {
888 border:1px solid #6c614b;
889 width:100%;
890 border-collapse:collapse;
891}
892
893table.simplelist, .calloutlist table {
894 border-style: none;
895}
896
897table th {
898 text-align:left;
899 background-color:#6699cc;
900 padding:.3em .5em;
901 color:white;
902}
903
904table td {
905 padding:.15em .5em;
906}
907
908table tr.even td {
909 background-color:#f5f5f5;
910}
911
912table th p:first-child, table td p:first-child, table li p:first-child,
913table th div.para:first-child, table td div.para:first-child, table li div.para:first-child {
914 margin-top:0em;
915 padding-top:0em;
916 display:inline;
917}
918
919th, td {
920 border-style:none;
921 vertical-align: top;
922 border: 1px solid #000;
923}
924
925.simplelist th, .simplelist td {
926 border: none;
927}
928
929table table td {
930 border-bottom:1px dotted #aaa;
931 background-color:white;
932 padding:.6em 0em;
933}
934
935table table {
936 border:1px solid white;
937}
938
939td.remarkval {
940 color:#444;
941}
942
943td.fieldval {
944 font-weight:bold;
945}
946
947.lbname, .lbtype, .lbdescr, .lbdriver, .lbhost {
948 color:white;
949 font-weight:bold;
950 background-color:#999;
951 width:120px;
952}
953
954td.remarkval {
955 width:230px;
956}
957
958td.tname {
959 font-weight:bold;
960}
961
962th.dbfield {
963 width:120px;
964}
965
966th.dbtype {
967 width:70px;
968}
969
970th.dbdefault {
971 width:70px;
972}
973
974th.dbnul {
975 width:70px;
976}
977
978th.dbkey {
979 width:70px;
980}
981
982span.book {
983 margin-top:4em;
984 display:block;
985}
986
987span.chapter {
988 display:block;
989 margin-top:0.5em;
990}
991
992table.simplelist td, .calloutlist table td {
993 border-style: none;
994}
995
996/*Breadcrumbs*/
997#breadcrumbs ul li.first:before {
998 content:" ";
999}
1000
1001#breadcrumbs {
1002 color:#900;
1003 padding:3px;
1004 margin-bottom:25px;
1005}
1006
1007#breadcrumbs ul {
1008 margin-left:0;
1009 padding-left:0;
1010 display:inline;
1011 border:none;
1012}
1013
1014#breadcrumbs ul li {
1015 margin-left:0;
1016 padding-left:2px;
1017 border:none;
1018 list-style:none;
1019 display:inline;
1020}
1021
1022#breadcrumbs ul li:before {
1023 content:"\0020 \0020 \0020 \00BB \0020";
1024 color:#333;
1025}
1026
1027/*index*/
1028.glossary h3,
1029.index h3 {
1030 font-size: 2em;
1031 color:#aaa;
1032 margin:0em;
1033}
1034
1035.indexdiv {
1036 margin-bottom:1em;
1037}
1038
1039.glossary dt,
1040.index dt {
1041 color:#444;
1042 padding-top:.5em;
1043}
1044
1045.glossary dl dl dt,
1046.index dl dl dt {
1047 color:#777;
1048 font-weight:normal;
1049 padding-top:0em;
1050}
1051
1052.index dl dl dt:before {
1053 content:"- ";
1054 color:#ccc;
1055}
1056
1057/*changes*/
1058.footnote {
1059 font-size: .7em;
1060 margin:0em;
1061 color:#222;
1062}
1063
1064table .footnote {
1065}
1066
1067sup {
1068 color:#999;
1069 margin:0em;
1070 padding:0em;
1071 line-height: .4em;
1072 font-size: 1em;
1073 padding-left:0em;
1074}
1075
1076.footnote {
1077 position:relative;
1078}
1079
1080.footnote sup {
1081 color:#e3dcc0;
1082 position:absolute;
1083 left: .4em;
1084}
1085
1086.footnote sup a:link,
1087.footnote sup a:visited {
1088 color:#92917d;
1089 text-decoration:none;
1090}
1091
1092.footnote:hover sup a {
1093 text-decoration:none;
1094}
1095
1096.footnote p,.footnote div.para {
1097 padding-left:2em;
1098}
1099
1100.footnote a:link,
1101.footnote a:visited {
1102 color:#00537c;
1103}
1104
1105.footnote a:hover {
1106}
1107
1108/**/
1109div.chapter {
1110 margin-top:3em;
1111}
1112
1113div.section {
1114 margin-top:1em;
1115}
1116
1117div.note .replaceable,
1118div.important .replaceable,
1119div.warning .replaceable,
1120div.note .keycap,
1121div.important .keycap,
1122div.warning .keycap
1123{
1124}
1125
1126ul li p:last-child, ul li div.para:last-child {
1127 margin-bottom:0em;
1128 padding-bottom:0em;
1129}
1130
1131/*document navigation*/
1132.docnav a, .docnav strong {
1133 border:none;
1134 text-decoration:none;
1135 font-weight:normal;
1136}
1137
1138.docnav {
1139 list-style:none;
1140 margin:0em;
1141 padding:0em;
1142 position:relative;
1143 width:100%;
1144 padding-bottom:2em;
1145 padding-top:1em;
1146 border-top:1px dotted #ccc;
1147}
1148
1149.docnav li {
1150 list-style:none;
1151 margin:0em;
1152 padding:0em;
1153 display:inline;
1154 font-size:.8em;
1155}
1156
1157.docnav li:before {
1158 content:" ";
1159}
1160
1161.docnav li.previous, .docnav li.next {
1162 position:absolute;
1163 top:1em;
1164}
1165
1166.docnav li.up, .docnav li.home {
1167 margin:0em 1.5em;
1168}
1169
1170.docnav li.previous {
1171 left:0px;
1172 text-align:left;
1173}
1174
1175.docnav li.next {
1176 right:0px;
1177 text-align:right;
1178}
1179
1180.docnav li.previous strong, .docnav li.next strong {
1181 height:22px;
1182 display:block;
1183}
1184
1185.docnav {
1186 margin:0 auto;
1187 text-align:center;
1188}
1189
1190.docnav li.next a strong {
1191 background: url(../images/stock-go-forward.png) top right no-repeat;
1192 padding-top:3px;
1193 padding-bottom:4px;
1194 padding-right:28px;
1195 font-size:1.2em;
1196}
1197
1198.docnav li.previous a strong {
1199 background: url(../images/stock-go-back.png) top left no-repeat;
1200 padding-top:3px;
1201 padding-bottom:4px;
1202 padding-left:28px;
1203 padding-right:0.5em;
1204 font-size:1.2em;
1205}
1206
1207.docnav li.home a strong {
1208 background: url(../images/stock-home.png) top left no-repeat;
1209 padding:5px;
1210 padding-left:28px;
1211 font-size:1.2em;
1212}
1213
1214.docnav li.up a strong {
1215 background: url(../images/stock-go-up.png) top left no-repeat;
1216 padding:5px;
1217 padding-left:28px;
1218 font-size:1.2em;
1219}
1220
1221.docnav a:link, .docnav a:visited {
1222 color:#666;
1223}
1224
1225.docnav a:hover, .docnav a:focus, .docnav a:active {
1226 color:black;
1227}
1228
1229.docnav a {
1230 max-width: 10em;
1231 overflow:hidden;
1232}
1233
1234.docnav a:link strong {
1235 text-decoration:none;
1236}
1237
1238.docnav {
1239 margin:0 auto;
1240 text-align:center;
1241}
1242
1243ul.docnav {
1244 margin-bottom: 1em;
1245}
1246/* Reports */
1247.reports ul {
1248 list-style:none;
1249 margin:0em;
1250 padding:0em;
1251}
1252
1253.reports li{
1254 margin:0em;
1255 padding:0em;
1256}
1257
1258.reports li.odd {
1259 background-color: #eeeeee;
1260 margin:0em;
1261 padding:0em;
1262}
1263
1264.reports dl {
1265 display:inline;
1266 margin:0em;
1267 padding:0em;
1268 float:right;
1269 margin-right: 17em;
1270 margin-top:-1.3em;
1271}
1272
1273.reports dt {
1274 display:inline;
1275 margin:0em;
1276 padding:0em;
1277}
1278
1279.reports dd {
1280 display:inline;
1281 margin:0em;
1282 padding:0em;
1283 padding-right:.5em;
1284}
1285
1286.reports h2, .reports h3{
1287 display:inline;
1288 padding-right:.5em;
1289 font-size:10pt;
1290 font-weight:normal;
1291}
1292
1293.reports div.progress {
1294 display:inline;
1295 float:right;
1296 width:16em;
1297 background:#c00 url(../images/shine.png) top left repeat-x;
1298 margin:0em;
1299 margin-top:-1.3em;
1300 padding:0em;
1301 border:none;
1302}
1303
1304/*uniform*/
1305body.results, body.reports {
1306 max-width:57em ;
1307 padding:0em;
1308}
1309
1310/*Progress Bar*/
1311div.progress {
1312 display:block;
1313 float:left;
1314 width:16em;
1315 background:#c00 url(../images/shine.png) top left repeat-x;
1316 height:1em;
1317}
1318
1319div.progress span {
1320 height:1em;
1321 float:left;
1322}
1323
1324div.progress span.translated {
1325 background:#6c3 url(../images/shine.png) top left repeat-x;
1326}
1327
1328div.progress span.fuzzy {
1329 background:#ff9f00 url(../images/shine.png) top left repeat-x;
1330}
1331
1332
1333/*Results*/
1334
1335.results ul {
1336 list-style:none;
1337 margin:0em;
1338 padding:0em;
1339}
1340
1341.results li{
1342 margin:0em;
1343 padding:0em;
1344}
1345
1346.results li.odd {
1347 background-color: #eeeeee;
1348 margin:0em;
1349 padding:0em;
1350}
1351
1352.results dl {
1353 display:inline;
1354 margin:0em;
1355 padding:0em;
1356 float:right;
1357 margin-right: 17em;
1358 margin-top:-1.3em;
1359}
1360
1361.results dt {
1362 display:inline;
1363 margin:0em;
1364 padding:0em;
1365}
1366
1367.results dd {
1368 display:inline;
1369 margin:0em;
1370 padding:0em;
1371 padding-right:.5em;
1372}
1373
1374.results h2, .results h3 {
1375 display:inline;
1376 padding-right:.5em;
1377 font-size:10pt;
1378 font-weight:normal;
1379}
1380
1381.results div.progress {
1382 display:inline;
1383 float:right;
1384 width:16em;
1385 background:#c00 url(../images/shine.png) top left repeat-x;
1386 margin:0em;
1387 margin-top:-1.3em;
1388 padding:0em;
1389 border:none;
1390}
1391
1392/* Dirty EVIL Mozilla hack for round corners */
1393pre {
1394 -moz-border-radius:11px;
1395 -webkit-border-radius:11px;
1396 border-radius: 11px;
1397}
1398
1399.example {
1400 -moz-border-radius:0px;
1401 -webkit-border-radius:0px;
1402 border-radius: 0px;
1403}
1404
1405.package, .citetitle {
1406 font-style: italic;
1407}
1408
1409.titlepage .edition {
1410 color: #336699;
1411 background-color: transparent;
1412 margin-top: 1em;
1413 margin-bottom: 1em;
1414 font-size: 1.4em;
1415 font-weight: bold;
1416 text-align: center;
1417}
1418
1419span.remark {
1420 background-color: #ff00ff;
1421}
1422
1423.draft {
1424 background-image: url(../images/watermark-draft.png);
1425 background-repeat: repeat-y;
1426 background-position: center;
1427}
1428
1429.foreignphrase {
1430 font-style: inherit;
1431}
1432
1433dt {
1434 clear:both;
1435}
1436
1437dt img {
1438 border-style: none;
1439 max-width: 112px;
1440}
1441
1442dt object {
1443 max-width: 112px;
1444}
1445
1446dt .inlinemediaobject, dt object {
1447 display: inline;
1448 float: left;
1449 margin-bottom: 1em;
1450 padding-right: 1em;
1451 width: 112px;
1452}
1453
1454dl:after {
1455 display: block;
1456 clear: both;
1457 content: "";
1458}
1459
1460.toc dd {
1461 padding-bottom: 0em;
1462 margin-bottom: 1em;
1463 padding-left: 1.3em;
1464 margin-left: 0em;
1465}
1466
1467div.toc > dl > dt {
1468 padding-bottom: 0em;
1469 margin-bottom: 0em;
1470 margin-top: 1em;
1471}
1472
1473
1474.strikethrough {
1475 text-decoration: line-through;
1476}
1477
1478.underline {
1479 text-decoration: underline;
1480}
1481
1482.calloutlist img, .callout {
1483 padding: 0em;
1484 margin: 0em;
1485 width: 12pt;
1486 display: inline;
1487 vertical-align: middle;
1488}
1489
1490.stepalternatives {
1491 list-style-image: none;
1492 list-style-type: none;
1493}
1494
1495
diff --git a/SystemTap_Beginners_Guide/Common_Content/css/default.css b/SystemTap_Beginners_Guide/Common_Content/css/default.css
deleted file mode 100644
index bf38ebb5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/css/default.css
+++ /dev/null
@@ -1,3 +0,0 @@
1@import url("common.css");
2@import url("overrides.css");
3@import url("lang.css");
diff --git a/SystemTap_Beginners_Guide/Common_Content/css/lang.css b/SystemTap_Beginners_Guide/Common_Content/css/lang.css
deleted file mode 100644
index 81c31156..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/css/lang.css
+++ /dev/null
@@ -1,2 +0,0 @@
1/* place holder */
2
diff --git a/SystemTap_Beginners_Guide/Common_Content/css/overrides.css b/SystemTap_Beginners_Guide/Common_Content/css/overrides.css
deleted file mode 100644
index 895173d5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/css/overrides.css
+++ /dev/null
@@ -1,51 +0,0 @@
1a:link {
2 color:#0066cc;
3}
4
5a:hover, a:active {
6 color:#003366;
7}
8
9a:visited {
10 color:#6699cc;
11}
12
13
14h1 {
15 color:#3c6eb4
16}
17
18.producttitle {
19 background: #3c6eb4 url(../images/h1-bg.png) top left repeat;
20}
21
22.section h1.title {
23 color:#3c6eb4;
24}
25
26
27h2,h3,h4,h5,h6 {
28 color:#3c6eb4;
29}
30
31table {
32 border:1px solid #3c6eb4;
33}
34
35table th {
36 background-color:#3c6eb4;
37}
38
39
40table tr.even td {
41 background-color:#f5f5f5;
42}
43
44.revhistory table th {
45 color:#3c6eb4;
46}
47
48.edition {
49 color: #3c6eb4;
50}
51
diff --git a/SystemTap_Beginners_Guide/Common_Content/css/print.css b/SystemTap_Beginners_Guide/Common_Content/css/print.css
deleted file mode 100644
index 773d8ae1..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/css/print.css
+++ /dev/null
@@ -1,16 +0,0 @@
1@import url("common.css");
2@import url("overrides.css");
3@import url("lang.css");
4
5#tocframe {
6 display: none;
7}
8
9body.toc_embeded {
10 margin-left: 30px;
11}
12
13.producttitle {
14 color: #336699;
15}
16
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/1.png b/SystemTap_Beginners_Guide/Common_Content/images/1.png
deleted file mode 100644
index 1098dab0..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/1.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/1.svg b/SystemTap_Beginners_Guide/Common_Content/images/1.svg
deleted file mode 100644
index 3736523f..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/1.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 17.993,22.013004 L 17.993,10.113004 L 15.239,10.113004 C 14.899001,11.218003 14.286999,11.643004 12.757,11.728004 L 12.757,13.819004 L 14.763,13.819004 L 14.763,22.013004 L 17.993,22.013004"
20 id="text2207"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/10.png b/SystemTap_Beginners_Guide/Common_Content/images/10.png
deleted file mode 100644
index ef058e3b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/10.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/10.svg b/SystemTap_Beginners_Guide/Common_Content/images/10.svg
deleted file mode 100644
index 84ee18fb..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/10.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.252562,22 L 12.252562,10.1 L 9.4985624,10.1 C 9.1585628,11.204999 8.5465609,11.63 7.0165624,11.715 L 7.0165624,13.806 L 9.0225624,13.806 L 9.0225624,22 L 12.252562,22 M 24.983438,16.033 C 24.983438,12.072004 22.705435,9.913 19.611438,9.913 C 16.517441,9.913 14.205438,12.106004 14.205438,16.067 C 14.205438,20.027996 16.483441,22.187 19.577438,22.187 C 22.671435,22.187 24.983438,19.993996 24.983438,16.033 M 21.600438,16.067 C 21.600438,18.242998 20.886437,19.348 19.611438,19.348 C 18.336439,19.348 17.588438,18.208998 17.588438,16.033 C 17.588438,13.857002 18.302439,12.752 19.577438,12.752 C 20.852437,12.752 21.600438,13.891002 21.600438,16.067"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/11.png b/SystemTap_Beginners_Guide/Common_Content/images/11.png
deleted file mode 100644
index fa20ec4b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/11.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/11.svg b/SystemTap_Beginners_Guide/Common_Content/images/11.svg
deleted file mode 100644
index 47f0c808..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/11.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 14.623052,22 L 14.623052,10.1 L 11.869052,10.1 C 11.529053,11.204999 10.917051,11.63 9.3870527,11.715 L 9.3870527,13.806 L 11.393052,13.806 L 11.393052,22 L 14.623052,22 M 21.794928,22 L 21.794928,10.1 L 19.040928,10.1 C 18.700928,11.204999 18.088926,11.63 16.558928,11.715 L 16.558928,13.806 L 18.564928,13.806 L 18.564928,22 L 21.794928,22"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/12.png b/SystemTap_Beginners_Guide/Common_Content/images/12.png
deleted file mode 100644
index 84c132a7..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/12.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/12.svg b/SystemTap_Beginners_Guide/Common_Content/images/12.svg
deleted file mode 100644
index 94ddaac5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/12.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.677562,22 L 12.677562,10.1 L 9.9235624,10.1 C 9.5835628,11.204999 8.9715609,11.63 7.4415624,11.715 L 7.4415624,13.806 L 9.4475624,13.806 L 9.4475624,22 L 12.677562,22 M 24.558438,22 L 24.558438,19.314 L 18.353438,19.314 C 18.608438,18.600001 19.27144,17.936999 21.651438,16.832 C 23.929436,15.778001 24.473438,14.825998 24.473438,13.262 C 24.473438,11.103002 22.926435,9.913 19.968438,9.913 C 17.92844,9.913 16.381436,10.491001 14.868438,11.46 L 16.381438,13.891 C 17.571437,13.092001 18.727439,12.684 19.917438,12.684 C 20.869437,12.684 21.243438,12.973001 21.243438,13.5 C 21.243438,13.976 21.056437,14.163001 19.798438,14.724 C 16.823441,16.049999 14.936438,17.988004 14.834438,22 L 24.558438,22"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/13.png b/SystemTap_Beginners_Guide/Common_Content/images/13.png
deleted file mode 100644
index f41ec8fa..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/13.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/13.svg b/SystemTap_Beginners_Guide/Common_Content/images/13.svg
deleted file mode 100644
index 040dd6c9..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/13.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.550062,22 L 12.550062,10.1 L 9.7960624,10.1 C 9.4560628,11.204999 8.8440609,11.63 7.3140624,11.715 L 7.3140624,13.806 L 9.3200624,13.806 L 9.3200624,22 L 12.550062,22 M 24.685938,18.226 C 24.685938,16.713002 23.716937,15.914 22.611938,15.659 C 23.427937,15.268 24.192938,14.638999 24.192938,13.33 C 24.192938,10.814003 22.288935,9.913 19.432938,9.913 C 17.35894,9.913 15.930937,10.610001 14.825938,11.46 L 16.389938,13.602 C 17.307937,12.939001 18.191939,12.582 19.347938,12.582 C 20.520937,12.582 20.996938,12.922001 20.996938,13.551 C 20.996938,14.332999 20.656937,14.554 19.619938,14.554 L 18.089938,14.554 L 18.089938,17.121 L 19.806938,17.121 C 21.013937,17.121 21.489938,17.427001 21.489938,18.26 C 21.489938,19.075999 20.911937,19.467 19.534938,19.467 C 18.225939,19.467 17.120937,18.973999 16.151938,18.226 L 14.451938,20.368 C 15.726937,21.489999 17.44394,22.187 19.466938,22.187 C 22.696935,22.187 24.685938,20.979997 24.685938,18.226"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/14.png b/SystemTap_Beginners_Guide/Common_Content/images/14.png
deleted file mode 100644
index c4912062..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/14.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/14.svg b/SystemTap_Beginners_Guide/Common_Content/images/14.svg
deleted file mode 100644
index 7f4fcfd0..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/14.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.040062,22 L 12.040062,10.1 L 9.2860624,10.1 C 8.9460628,11.204999 8.3340609,11.63 6.8040624,11.715 L 6.8040624,13.806 L 8.8100624,13.806 L 8.8100624,22 L 12.040062,22 M 25.195938,19.96 L 25.195938,17.172 L 23.665938,17.172 L 23.665938,10.1 L 20.401938,10.1 L 13.992938,17.461 L 13.992938,19.875 L 20.707938,19.875 L 20.707938,22 L 23.665938,22 L 23.665938,19.96 L 25.195938,19.96 M 20.758938,13.432 C 20.724938,13.992999 20.707938,15.302001 20.707938,15.999 L 20.707938,17.172 L 19.823938,17.172 C 19.007939,17.172 18.191937,17.189 17.596938,17.223 C 18.038938,16.798 18.531939,16.253999 19.160938,15.489 L 19.330938,15.285 C 20.112937,14.350001 20.435938,13.925 20.758938,13.432"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/15.png b/SystemTap_Beginners_Guide/Common_Content/images/15.png
deleted file mode 100644
index 7656c941..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/15.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/15.svg b/SystemTap_Beginners_Guide/Common_Content/images/15.svg
deleted file mode 100644
index a8eba4de..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/15.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.388562,22 L 12.388562,10.1 L 9.6345624,10.1 C 9.2945628,11.204999 8.6825609,11.63 7.1525624,11.715 L 7.1525624,13.806 L 9.1585624,13.806 L 9.1585624,22 L 12.388562,22 M 24.847438,17.852 C 24.847438,15.200003 23.164435,13.908 20.597438,13.908 C 19.407439,13.908 18.693437,14.112 18.030438,14.435 L 18.132438,12.786 L 24.133438,12.786 L 24.133438,10.1 L 15.463438,10.1 L 15.055438,16.271 L 17.877438,17.223 C 18.472437,16.798 19.067439,16.543 20.070438,16.543 C 21.090437,16.543 21.668438,17.019001 21.668438,17.937 C 21.668438,18.888999 21.107436,19.45 19.577438,19.45 C 18.302439,19.45 16.891437,18.956999 15.752438,18.277 L 14.409438,20.742 C 15.871436,21.625999 17.43544,22.187 19.492438,22.187 C 22.875435,22.187 24.847438,20.622997 24.847438,17.852"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/16.png b/SystemTap_Beginners_Guide/Common_Content/images/16.png
deleted file mode 100644
index 1f2535a7..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/16.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/16.svg b/SystemTap_Beginners_Guide/Common_Content/images/16.svg
deleted file mode 100644
index 1adc2170..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/16.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.405562,22 L 12.405562,10.1 L 9.6515624,10.1 C 9.3115628,11.204999 8.6995609,11.63 7.1695624,11.715 L 7.1695624,13.806 L 9.1755624,13.806 L 9.1755624,22 L 12.405562,22 M 24.830438,17.903 C 24.830438,15.387003 23.096435,14.214 20.631438,14.214 C 19.203439,14.214 18.336437,14.486 17.571438,14.911 C 18.472437,13.534001 20.104441,12.616 23.215438,12.616 L 23.215438,9.913 C 16.415445,9.913 14.341438,14.112003 14.341438,17.257 C 14.341438,20.537997 16.415441,22.187 19.407438,22.187 C 22.773435,22.187 24.830438,20.588997 24.830438,17.903 M 21.651438,18.124 C 21.651438,19.075999 20.818437,19.586 19.577438,19.586 C 18.132439,19.586 17.486438,18.990999 17.486438,18.141 C 17.486438,17.206001 18.183439,16.645 19.645438,16.645 C 20.903437,16.645 21.651438,17.206001 21.651438,18.124"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/17.png b/SystemTap_Beginners_Guide/Common_Content/images/17.png
deleted file mode 100644
index 67fe7ce5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/17.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/17.svg b/SystemTap_Beginners_Guide/Common_Content/images/17.svg
deleted file mode 100644
index b0077992..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/17.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.652062,22 L 12.652062,10.1 L 9.8980624,10.1 C 9.5580628,11.204999 8.9460609,11.63 7.4160624,11.715 L 7.4160624,13.806 L 9.4220624,13.806 L 9.4220624,22 L 12.652062,22 M 24.583938,12.48 L 24.583938,10.1 L 14.740938,10.1 L 14.740938,12.786 L 20.656938,12.786 C 18.36194,15.131998 17.239938,17.920004 17.205938,22 L 20.435938,22 C 20.435938,18.141004 21.098941,15.675997 24.583938,12.48"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/18.png b/SystemTap_Beginners_Guide/Common_Content/images/18.png
deleted file mode 100644
index 76aa05be..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/18.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/18.svg b/SystemTap_Beginners_Guide/Common_Content/images/18.svg
deleted file mode 100644
index 140c8ec6..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/18.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.176062,22 L 12.176062,10.1 L 9.4220624,10.1 C 9.0820628,11.204999 8.4700609,11.63 6.9400624,11.715 L 6.9400624,13.806 L 8.9460624,13.806 L 8.9460624,22 L 12.176062,22 M 25.059938,18.294 C 25.059938,16.764002 23.971937,15.948 23.206938,15.642 C 23.954937,15.166 24.549938,14.519999 24.549938,13.449 C 24.549938,11.171002 22.526935,9.913 19.653938,9.913 C 16.780941,9.913 14.723938,11.171002 14.723938,13.449 C 14.723938,14.519999 15.352939,15.251 16.066938,15.676 C 15.301939,15.982 14.213938,16.764002 14.213938,18.294 C 14.213938,20.707998 16.287941,22.187 19.619938,22.187 C 22.951935,22.187 25.059938,20.707998 25.059938,18.294 M 21.387938,13.5 C 21.387938,14.094999 20.945937,14.639 19.653938,14.639 C 18.361939,14.639 17.885938,14.094999 17.885938,13.5 C 17.885938,12.905001 18.327939,12.31 19.619938,12.31 C 20.911937,12.31 21.387938,12.905001 21.387938,13.5 M 21.897938,18.26 C 21.897938,19.075999 21.149936,19.688 19.653938,19.688 C 18.157939,19.688 17.375938,19.075999 17.375938,18.26 C 17.375938,17.444001 18.106939,16.849 19.619938,16.849 C 21.115936,16.849 21.897938,17.444001 21.897938,18.26"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/19.png b/SystemTap_Beginners_Guide/Common_Content/images/19.png
deleted file mode 100644
index 5f5ada0f..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/19.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/19.svg b/SystemTap_Beginners_Guide/Common_Content/images/19.svg
deleted file mode 100644
index ae864c48..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/19.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 12.414062,22 L 12.414062,10.1 L 9.6600624,10.1 C 9.3200628,11.204999 8.7080609,11.63 7.1780624,11.715 L 7.1780624,13.806 L 9.1840624,13.806 L 9.1840624,22 L 12.414062,22 M 24.821938,14.843 C 24.821938,11.562003 22.747935,9.913 19.755938,9.913 C 16.389941,9.913 14.332938,11.511003 14.332938,14.197 C 14.332938,16.712997 16.06694,17.886 18.531938,17.886 C 19.959937,17.886 20.826939,17.614 21.591938,17.189 C 20.690939,18.565999 19.058935,19.484 15.947938,19.484 L 15.947938,22.187 C 22.747931,22.187 24.821938,17.987997 24.821938,14.843 M 21.676938,13.959 C 21.676938,14.893999 20.979936,15.455 19.517938,15.455 C 18.259939,15.455 17.511938,14.893999 17.511938,13.976 C 17.511938,13.024001 18.344939,12.514 19.585938,12.514 C 21.030936,12.514 21.676938,13.109001 21.676938,13.959"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/2.png b/SystemTap_Beginners_Guide/Common_Content/images/2.png
deleted file mode 100644
index 8fe37095..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/2.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/2.svg b/SystemTap_Beginners_Guide/Common_Content/images/2.svg
deleted file mode 100644
index ee961289..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/2.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 20.862,22.013004 L 20.862,19.327004 L 14.657,19.327004 C 14.912,18.613005 15.575003,17.950003 17.955,16.845004 C 20.232998,15.791005 20.777,14.839003 20.777,13.275004 C 20.777,11.116006 19.229997,9.9260043 16.272,9.9260043 C 14.232002,9.9260043 12.684999,10.504005 11.172,11.473004 L 12.685,13.904004 C 13.874999,13.105005 15.031001,12.697004 16.221,12.697004 C 17.172999,12.697004 17.547,12.986005 17.547,13.513004 C 17.547,13.989004 17.359999,14.176005 16.102,14.737004 C 13.127003,16.063003 11.24,18.001008 11.138,22.013004 L 20.862,22.013004"
20 id="text2207"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/20.png b/SystemTap_Beginners_Guide/Common_Content/images/20.png
deleted file mode 100644
index 5e2ad337..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/20.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/20.svg b/SystemTap_Beginners_Guide/Common_Content/images/20.svg
deleted file mode 100644
index 1678a9f0..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/20.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 14.685,22 L 14.685,19.314 L 8.4799999,19.314 C 8.7349997,18.600001 9.3980023,17.936999 11.778,16.832 C 14.055998,15.778001 14.6,14.825998 14.6,13.262 C 14.6,11.103002 13.052997,9.913 10.095,9.913 C 8.055002,9.913 6.5079984,10.491001 4.9949999,11.46 L 6.5079999,13.891 C 7.6979988,13.092001 8.8540011,12.684 10.044,12.684 C 10.995999,12.684 11.37,12.973001 11.37,13.5 C 11.37,13.976 11.182999,14.163001 9.9249999,14.724 C 6.9500029,16.049999 5.0629998,17.988004 4.9609999,22 L 14.685,22 M 27.421719,16.033 C 27.421719,12.072004 25.143716,9.913 22.049719,9.913 C 18.955722,9.913 16.643719,12.106004 16.643719,16.067 C 16.643719,20.027996 18.921722,22.187 22.015719,22.187 C 25.109716,22.187 27.421719,19.993996 27.421719,16.033 M 24.038719,16.067 C 24.038719,18.242998 23.324717,19.348 22.049719,19.348 C 20.77472,19.348 20.026719,18.208998 20.026719,16.033 C 20.026719,13.857002 20.74072,12.752 22.015719,12.752 C 23.290717,12.752 24.038719,13.891002 24.038719,16.067"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/21.png b/SystemTap_Beginners_Guide/Common_Content/images/21.png
deleted file mode 100644
index cfafd1ff..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/21.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/21.svg b/SystemTap_Beginners_Guide/Common_Content/images/21.svg
deleted file mode 100644
index 4199512a..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/21.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 16.648141,22 L 16.648141,19.314 L 10.44314,19.314 C 10.69814,18.600001 11.361143,17.936999 13.741141,16.832 C 16.019139,15.778001 16.563141,14.825998 16.563141,13.262 C 16.563141,11.103002 15.016138,9.913 12.058141,9.913 C 10.018143,9.913 8.471139,10.491001 6.9581405,11.46 L 8.4711405,13.891 C 9.661139,13.092001 10.817142,12.684 12.007141,12.684 C 12.95914,12.684 13.333141,12.973001 13.333141,13.5 C 13.333141,13.976 13.14614,14.163001 11.88814,14.724 C 8.9131435,16.049999 7.0261404,17.988004 6.9241405,22 L 16.648141,22 M 23.82586,22 L 23.82586,10.1 L 21.07186,10.1 C 20.73186,11.204999 20.119858,11.63 18.58986,11.715 L 18.58986,13.806 L 20.59586,13.806 L 20.59586,22 L 23.82586,22"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/22.png b/SystemTap_Beginners_Guide/Common_Content/images/22.png
deleted file mode 100644
index 5415d358..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/22.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/22.svg b/SystemTap_Beginners_Guide/Common_Content/images/22.svg
deleted file mode 100644
index c1f44794..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/22.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 14.685,22 L 14.685,19.314 L 8.4799999,19.314 C 8.7349997,18.600001 9.3980023,17.936999 11.778,16.832 C 14.055998,15.778001 14.6,14.825998 14.6,13.262 C 14.6,11.103002 13.052997,9.913 10.095,9.913 C 8.055002,9.913 6.5079984,10.491001 4.9949999,11.46 L 6.5079999,13.891 C 7.6979988,13.092001 8.8540011,12.684 10.044,12.684 C 10.995999,12.684 11.37,12.973001 11.37,13.5 C 11.37,13.976 11.182999,14.163001 9.9249999,14.724 C 6.9500029,16.049999 5.0629998,17.988004 4.9609999,22 L 14.685,22 M 26.571719,22 L 26.571719,19.314 L 20.366719,19.314 C 20.621718,18.600001 21.284721,17.936999 23.664719,16.832 C 25.942716,15.778001 26.486719,14.825998 26.486719,13.262 C 26.486719,11.103002 24.939716,9.913 21.981719,9.913 C 19.941721,9.913 18.394717,10.491001 16.881719,11.46 L 18.394719,13.891 C 19.584718,13.092001 20.74072,12.684 21.930719,12.684 C 22.882718,12.684 23.256719,12.973001 23.256719,13.5 C 23.256719,13.976 23.069717,14.163001 21.811719,14.724 C 18.836722,16.049999 16.949719,17.988004 16.847719,22 L 26.571719,22"
20 id="number"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/23.png b/SystemTap_Beginners_Guide/Common_Content/images/23.png
deleted file mode 100644
index 658e22bc..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/23.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/23.svg b/SystemTap_Beginners_Guide/Common_Content/images/23.svg
deleted file mode 100644
index ea3c85ae..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/23.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 15.32239,22.013004 L 15.32239,19.327004 L 9.1173907,19.327004 C 9.3723904,18.613005 10.035393,17.950003 12.41539,16.845004 C 14.693388,15.791005 15.23739,14.839003 15.23739,13.275004 C 15.23739,11.116006 13.690387,9.9260043 10.73239,9.9260043 C 8.6923927,9.9260043 7.1453891,10.504005 5.6323906,11.473004 L 7.1453906,13.904004 C 8.3353896,13.105005 9.4913919,12.697004 10.68139,12.697004 C 11.633389,12.697004 12.00739,12.986005 12.00739,13.513004 C 12.00739,13.989004 11.820389,14.176005 10.56239,14.737004 C 7.5873937,16.063003 5.7003905,18.001008 5.5983906,22.013004 L 15.32239,22.013004 M 26.401609,18.239004 C 26.401609,16.726006 25.432608,15.927004 24.327609,15.672004 C 25.143608,15.281005 25.908609,14.652003 25.908609,13.343004 C 25.908609,10.827007 24.004606,9.9260043 21.148609,9.9260043 C 19.074611,9.9260043 17.646608,10.623005 16.541609,11.473004 L 18.105609,13.615004 C 19.023608,12.952005 19.90761,12.595004 21.063609,12.595004 C 22.236608,12.595004 22.712609,12.935005 22.712609,13.564004 C 22.712609,14.346004 22.372608,14.567004 21.335609,14.567004 L 19.805609,14.567004 L 19.805609,17.134004 L 21.522609,17.134004 C 22.729608,17.134004 23.205609,17.440005 23.205609,18.273004 C 23.205609,19.089003 22.627608,19.480004 21.250609,19.480004 C 19.94161,19.480004 18.836608,18.987004 17.867609,18.239004 L 16.167609,20.381004 C 17.442608,21.503003 19.159611,22.200004 21.182609,22.200004 C 24.412606,22.200004 26.401609,20.993002 26.401609,18.239004"
20 id="text2207"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/24.png b/SystemTap_Beginners_Guide/Common_Content/images/24.png
deleted file mode 100644
index 863ce3b6..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/24.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/24.svg b/SystemTap_Beginners_Guide/Common_Content/images/24.svg
deleted file mode 100644
index 27e1d39c..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/24.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137 -5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129 0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625 0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007 0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l -0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601 -0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/25.png b/SystemTap_Beginners_Guide/Common_Content/images/25.png
deleted file mode 100644
index cc23b9b2..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/25.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/25.svg b/SystemTap_Beginners_Guide/Common_Content/images/25.svg
deleted file mode 100644
index 114e1a26..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/25.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723 0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272 0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532 -0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892 -0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078 -0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384 -0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512 -0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301 -0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823 0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641 0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811 0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328 -0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6 -0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641 -0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811 -0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051 -4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211 0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/26.png b/SystemTap_Beginners_Guide/Common_Content/images/26.png
deleted file mode 100644
index 583fe348..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/26.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/26.svg b/SystemTap_Beginners_Guide/Common_Content/images/26.svg
deleted file mode 100644
index e9b5d239..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/26.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336 0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856 0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765 0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411 1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274 0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847 0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614 0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853 -0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5 -1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951 -1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312 -0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212 0.243487,-0.384596 0.398438,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271 0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902 0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557 0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125 -0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173 -0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933 -0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512 0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.398434 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289 -6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094 -0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414 -0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487 -0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209 -0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696 0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551 0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/27.png b/SystemTap_Beginners_Guide/Common_Content/images/27.png
deleted file mode 100644
index d1c3dfa4..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/27.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/27.svg b/SystemTap_Beginners_Guide/Common_Content/images/27.svg
deleted file mode 100644
index 4a80177b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/27.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035 8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/28.png b/SystemTap_Beginners_Guide/Common_Content/images/28.png
deleted file mode 100644
index f5db7473..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/28.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/28.svg b/SystemTap_Beginners_Guide/Common_Content/images/28.svg
deleted file mode 100644
index d453f299..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/28.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885 1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517 0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118 0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302 -0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017 -0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648 0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247 0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501 0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629 -0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761 -0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422 -1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414 -0.937991,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023 -0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328 0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855 0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566 0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543 -0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866 -0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778 -0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435 0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585 0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527 0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c -3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334 0.31543,0.473145 0.143876,0.132814 0.32096,0.237957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157 0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559 -0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478 -0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086 -0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563 -0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844 -0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223 -0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6 -0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723 -0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957 -0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957 0.07194,0.166024 0.166012,0.315438 0.282227,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962 0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527 0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338 0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938 -0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/29.png b/SystemTap_Beginners_Guide/Common_Content/images/29.png
deleted file mode 100644
index 9a3141ec..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/29.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/29.svg b/SystemTap_Beginners_Guide/Common_Content/images/29.svg
deleted file mode 100644
index 04b5c503..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/29.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.257917,22.008438 -8.143066,0 0,-1.784668 2.8554687,-3.07959 c 0.3596963,-0.387364 0.6861933,-0.744297 0.9794923,-1.0708 0.293289,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373536,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437178,10e-6 -0.857751,0.10792 -1.2617183,0.323731 C 9.3422244,12.379541 8.918885,12.68667 8.4761791,13.085098 L 7.0816479,11.433243 C 7.3306704,11.206366 7.5907613,10.990545 7.8619213,10.785782 8.1330785,10.575507 8.4319063,10.390123 8.7584057,10.22963 9.0849004,10.06916 9.4446006,9.9418812 9.8375072,9.8477936 10.230407,9.7481965 10.670348,9.6983918 11.157331,9.6983795 c 0.58105,1.23e-5 1.101232,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860508,0.3901488 1.187012,0.6889648 0.32649,0.293305 0.575513,0.650239 0.74707,1.070801 0.177075,0.420583 0.265617,0.893727 0.265625,1.419433 -8e-6,0.47592 -0.08302,0.932463 -0.249023,1.369629 -0.166024,0.431648 -0.392912,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622566,0.830083 -1.004395,1.245117 -0.376308,0.40951 -0.780279,0.827315 -1.211914,1.253418 l -1.460937,1.469238 0,0.116211 4.947265,0 0,2.158203"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164 -0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719 -0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711 -0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151 -1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083 -0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166 -0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c 0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151 0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149 0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766 0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c -0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.154953,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892 -0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6 -0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568 -1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614 -0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824 0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727 1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224 1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185 0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722 m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512 -0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.237959,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654 1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996 0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218 -0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008 -0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851 -0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/3.png b/SystemTap_Beginners_Guide/Common_Content/images/3.png
deleted file mode 100644
index 449ef5aa..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/3.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/3.svg b/SystemTap_Beginners_Guide/Common_Content/images/3.svg
deleted file mode 100644
index d3a7e73e..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/3.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 21.117,18.239004 C 21.117,16.726006 20.147999,15.927004 19.043,15.672004 C 19.858999,15.281005 20.624,14.652003 20.624,13.343004 C 20.624,10.827007 18.719997,9.9260043 15.864,9.9260043 C 13.790002,9.9260043 12.361999,10.623005 11.257,11.473004 L 12.821,13.615004 C 13.738999,12.952005 14.623001,12.595004 15.779,12.595004 C 16.951999,12.595004 17.428,12.935005 17.428,13.564004 C 17.428,14.346004 17.087999,14.567004 16.051,14.567004 L 14.521,14.567004 L 14.521,17.134004 L 16.238,17.134004 C 17.444999,17.134004 17.921,17.440005 17.921,18.273004 C 17.921,19.089003 17.342999,19.480004 15.966,19.480004 C 14.657002,19.480004 13.551999,18.987004 12.583,18.239004 L 10.883,20.381004 C 12.157999,21.503003 13.875002,22.200004 15.898,22.200004 C 19.127997,22.200004 21.117,20.993002 21.117,18.239004"
20 id="text2207"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/30.png b/SystemTap_Beginners_Guide/Common_Content/images/30.png
deleted file mode 100644
index 9d3db242..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/30.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/30.svg b/SystemTap_Beginners_Guide/Common_Content/images/30.svg
deleted file mode 100644
index 5cdcf65e..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/30.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047 -0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785 -0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334 -0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731 -1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984 -0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566 0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285 0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487 1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334 0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555 0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c -3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.697268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863 1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899 -0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188 -1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625 -0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642 -0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146 -0.08301,1.817871"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/31.png b/SystemTap_Beginners_Guide/Common_Content/images/31.png
deleted file mode 100644
index 9e2675da..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/31.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/31.svg b/SystemTap_Beginners_Guide/Common_Content/images/31.svg
deleted file mode 100644
index f0fdb294..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/31.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 22.579206,22.008438 -2.564941,0 0,-7.022461 c -4e-6,-0.143873 -4e-6,-0.315422 0,-0.514648 0.0055,-0.204745 0.01106,-0.415031 0.0166,-0.63086 0.01106,-0.221345 0.01936,-0.442699 0.0249,-0.664062 0.01106,-0.221345 0.01936,-0.423331 0.0249,-0.605957 -0.02767,0.03321 -0.07471,0.08302 -0.141113,0.149414 -0.06641,0.06642 -0.141117,0.141122 -0.224121,0.224121 -0.08301,0.07748 -0.168786,0.157724 -0.257324,0.240723 -0.08855,0.08302 -0.17432,0.157723 -0.257325,0.224121 l -1.394531,1.120605 -1.245117,-1.543945 3.909668,-3.1127931 2.108398,0 0,12.1357421"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/32.png b/SystemTap_Beginners_Guide/Common_Content/images/32.png
deleted file mode 100644
index 20f1bb23..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/32.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/32.svg b/SystemTap_Beginners_Guide/Common_Content/images/32.svg
deleted file mode 100644
index 93829281..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/32.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.621199,22.008438 -8.143067,0 0,-1.784668 2.855469,-3.07959 c 0.359697,-0.387364 0.686194,-0.744297 0.979492,-1.0708 0.29329,-0.326492 0.54508,-0.644688 0.755371,-0.95459 0.210281,-0.309889 0.37353,-0.625318 0.489746,-0.946289 0.116205,-0.320956 0.174311,-0.666821 0.174317,-1.037598 -6e-6,-0.409496 -0.124518,-0.727692 -0.373535,-0.95459 -0.243495,-0.226878 -0.572759,-0.340322 -0.987793,-0.340332 -0.437179,10e-6 -0.857751,0.10792 -1.261719,0.323731 -0.403974,0.215829 -0.827314,0.522958 -1.27002,0.921386 l -1.394531,-1.651855 c 0.249023,-0.226877 0.509114,-0.442698 0.780274,-0.647461 0.271157,-0.210275 0.569985,-0.395659 0.896484,-0.556152 0.326495,-0.16047 0.686195,-0.2877488 1.079101,-0.3818364 0.3929,-0.099597 0.832841,-0.1494018 1.319825,-0.1494141 0.581049,1.23e-5 1.101231,0.080253 1.560547,0.2407227 0.464837,0.1604938 0.860507,0.3901488 1.187011,0.6889648 0.32649,0.293305 0.575513,0.650239 0.747071,1.070801 0.177075,0.420583 0.265616,0.893727 0.265625,1.419433 -9e-6,0.47592 -0.08302,0.932463 -0.249024,1.369629 -0.166024,0.431648 -0.392911,0.857754 -0.680664,1.278321 -0.287768,0.415044 -0.622565,0.830083 -1.004394,1.245117 -0.376309,0.40951 -0.78028,0.827315 -1.211914,1.253418 l -1.460938,1.469238 0,0.116211 4.947266,0 0,2.158203"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/33.png b/SystemTap_Beginners_Guide/Common_Content/images/33.png
deleted file mode 100644
index 01407e6b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/33.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/33.svg b/SystemTap_Beginners_Guide/Common_Content/images/33.svg
deleted file mode 100644
index f46815f7..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/33.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.148054,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.207519,1.137207 -0.132821,0.33204 -0.318205,0.625334 -0.556153,0.879883 -0.232429,0.249031 -0.509121,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979486,0.121751 1.721021,0.420579 2.22461,0.896485 0.503572,0.470382 0.755362,1.106775 0.755371,1.909179 -9e-6,0.531253 -0.09685,1.023766 -0.290528,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879882,1.170411 -0.392911,0.332031 -0.890958,0.592122 -1.494141,0.780273 -0.597662,0.182617 -1.303227,0.273926 -2.116699,0.273926 -0.652998,0 -1.267256,-0.05534 -1.842774,-0.166016 -0.575522,-0.105143 -1.112305,-0.268392 -1.610351,-0.489746 l 0,-2.183105 c 0.249022,0.132815 0.51188,0.249025 0.788574,0.348632 0.276691,0.09961 0.553384,0.185387 0.830078,0.257325 0.27669,0.06641 0.547849,0.116212 0.813477,0.149414 0.271155,0.0332 0.525712,0.04981 0.763671,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315425,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188146,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124512,-0.73877 -7e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.20474 -0.265631,-0.376289 -0.498047,-0.51464 -0.226893,-0.143876 -0.525721,-0.254553 -0.896485,-0.332032 -0.370772,-0.07747 -0.827315,-0.116205 -1.369628,-0.116211 l -0.863282,0 0,-1.801269 0.84668,0 c 0.509111,7e-6 0.93245,-0.04426 1.270019,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124512,-0.672363 -6e-6,-0.431632 -0.135585,-0.769197 -0.406739,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,1e-5 -0.514652,0.02768 -0.747071,0.08301 -0.226891,0.04981 -0.439944,0.116221 -0.63916,0.199218 -0.193687,0.07748 -0.373537,0.166026 -0.53955,0.265625 -0.160484,0.09409 -0.307131,0.188161 -0.439942,0.282227 l -1.294922,-1.709961 c 0.232421,-0.171538 0.484212,-0.329253 0.755371,-0.473145 0.276692,-0.143868 0.575519,-0.26838 0.896485,-0.373535 0.320961,-0.1106647 0.666826,-0.1964393 1.037597,-0.2573239 0.370765,-0.06086 0.766435,-0.091296 1.187012,-0.091309 0.597651,1.23e-5 1.139969,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/34.png b/SystemTap_Beginners_Guide/Common_Content/images/34.png
deleted file mode 100644
index ba443525..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/34.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/34.svg b/SystemTap_Beginners_Guide/Common_Content/images/34.svg
deleted file mode 100644
index 7bbdf5b9..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/34.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.803816,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137 -5.013672,0 0,-1.784668 5.154785,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129 0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625 0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007 0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l -0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601 -0.262862,0.520191 -0.42334,0.780274 l -2.02539,3.071289 2.755859,0"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/35.png b/SystemTap_Beginners_Guide/Common_Content/images/35.png
deleted file mode 100644
index 21d4575c..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/35.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/35.svg b/SystemTap_Beginners_Guide/Common_Content/images/35.svg
deleted file mode 100644
index 8e19553a..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/35.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 20.761335,14.255508 c 0.520177,8e-6 1.004389,0.08025 1.452637,0.240723 0.448235,0.160489 0.838372,0.395678 1.17041,0.705566 0.332024,0.309903 0.592114,0.697272 0.780274,1.16211 0.188142,0.459315 0.282218,0.987797 0.282226,1.585449 -8e-6,0.658532 -0.102385,1.250654 -0.307129,1.776367 -0.20476,0.520184 -0.506355,0.962892 -0.904785,1.328125 -0.398444,0.359701 -0.893724,0.636394 -1.48584,0.830078 -0.586594,0.193685 -1.261723,0.290528 -2.02539,0.290528 -0.304366,0 -0.605961,-0.01384 -0.904785,-0.0415 -0.298831,-0.02767 -0.586591,-0.06917 -0.863282,-0.124512 -0.27116,-0.04981 -0.531251,-0.116211 -0.780273,-0.199219 -0.243491,-0.08301 -0.464845,-0.17985 -0.664063,-0.290527 l 0,-2.216309 c 0.193684,0.11068 0.417805,0.215823 0.672364,0.31543 0.254555,0.09408 0.517413,0.177086 0.788574,0.249024 0.27669,0.06641 0.553383,0.121746 0.830078,0.166015 0.276689,0.03874 0.539547,0.05811 0.788574,0.05811 0.741532,2e-6 1.305985,-0.152179 1.69336,-0.456543 0.387364,-0.309893 0.581048,-0.799639 0.581054,-1.469239 -6e-6,-0.597651 -0.190924,-1.051427 -0.572754,-1.361328 -0.376307,-0.315424 -0.960128,-0.473139 -1.751464,-0.473144 -0.143884,5e-6 -0.298832,0.0083 -0.464844,0.0249 -0.160485,0.01661 -0.320967,0.03874 -0.481446,0.06641 -0.15495,0.02768 -0.304364,0.05811 -0.448242,0.09131 -0.143882,0.02767 -0.268394,0.05811 -0.373535,0.09131 l -1.020996,-0.547852 0.456543,-6.1840821 6.408203,0 0,2.1748051 -4.183594,0 -0.199218,2.382324 c 0.177079,-0.03873 0.381832,-0.07747 0.614257,-0.116211 0.237952,-0.03873 0.542314,-0.0581 0.913086,-0.05811"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/36.png b/SystemTap_Beginners_Guide/Common_Content/images/36.png
deleted file mode 100644
index b5402b57..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/36.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/36.svg b/SystemTap_Beginners_Guide/Common_Content/images/36.svg
deleted file mode 100644
index d364dbf5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/36.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 16.428328,16.853653 c -1e-6,-0.581049 0.03044,-1.159336 0.09131,-1.734863 0.06641,-0.575514 0.17985,-1.126132 0.340332,-1.651856 0.166015,-0.531241 0.387369,-1.023753 0.664063,-1.477539 0.282224,-0.453765 0.636391,-0.846669 1.0625,-1.178711 0.431637,-0.337553 0.946285,-0.600411 1.543945,-0.788574 0.603185,-0.1936727 1.305984,-0.2905151 2.108398,-0.2905274 0.116205,1.23e-5 0.243483,0.00278 0.381836,0.0083 0.13834,0.00555 0.276686,0.013847 0.415039,0.024902 0.143873,0.00555 0.282219,0.016614 0.415039,0.033203 0.132805,0.016614 0.251783,0.035982 0.356934,0.058105 l 0,2.0502924 c -0.210294,-0.04979 -0.434415,-0.08853 -0.672363,-0.116211 -0.232429,-0.03319 -0.467618,-0.04979 -0.705567,-0.0498 -0.747076,1e-5 -1.361333,0.09408 -1.842773,0.282226 -0.48145,0.182627 -0.863285,0.439951 -1.145508,0.771973 -0.28223,0.33204 -0.484215,0.730477 -0.605957,1.195312 -0.116214,0.464852 -0.188154,0.9795 -0.21582,1.543946 l 0.09961,0 c 0.110674,-0.199212 0.243487,-0.384596 0.398438,-0.556153 0.160478,-0.177076 0.345862,-0.32649 0.556152,-0.448242 0.210282,-0.127271 0.445471,-0.22688 0.705566,-0.298828 0.265621,-0.07193 0.561681,-0.107902 0.888184,-0.10791 0.52571,8e-6 0.998854,0.08578 1.419434,0.257324 0.420565,0.171557 0.774732,0.42058 1.0625,0.74707 0.293286,0.326504 0.517407,0.727708 0.672363,1.203614 0.154939,0.475916 0.232413,1.021 0.232422,1.635254 -9e-6,0.658532 -0.09408,1.247887 -0.282227,1.768066 -0.182625,0.520184 -0.445483,0.962892 -0.788574,1.328125 -0.343106,0.359701 -0.758145,0.636394 -1.245117,0.830078 -0.486985,0.188151 -1.034836,0.282227 -1.643555,0.282227 -0.59766,0 -1.156579,-0.105144 -1.676758,-0.31543 -0.520185,-0.21582 -0.97396,-0.542317 -1.361328,-0.979492 -0.381837,-0.437173 -0.683432,-0.987791 -0.904785,-1.651856 -0.215821,-0.669593 -0.323731,-1.460933 -0.32373,-2.374023 m 4.216796,3.270508 c 0.226883,2e-6 0.431636,-0.0415 0.614258,-0.124512 0.188146,-0.08854 0.348627,-0.218585 0.481446,-0.390137 0.13834,-0.17708 0.243483,-0.398434 0.315429,-0.664062 0.07747,-0.265622 0.116205,-0.581051 0.116211,-0.946289 -6e-6,-0.592118 -0.124518,-1.056961 -0.373535,-1.394531 -0.243495,-0.343094 -0.61703,-0.514643 -1.120605,-0.514649 -0.254562,6e-6 -0.486984,0.04981 -0.697266,0.149414 -0.21029,0.09962 -0.390141,0.229661 -0.539551,0.390137 -0.149417,0.160487 -0.265628,0.340337 -0.348633,0.539551 -0.07748,0.199223 -0.116214,0.401209 -0.116211,0.605957 -3e-6,0.28223 0.0332,0.564456 0.09961,0.846679 0.07194,0.276696 0.17708,0.528486 0.315429,0.755371 0.143877,0.221357 0.318193,0.401207 0.52295,0.539551 0.210282,0.138349 0.453771,0.207522 0.730468,0.20752"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/37.png b/SystemTap_Beginners_Guide/Common_Content/images/37.png
deleted file mode 100644
index 9fd99d22..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/37.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/37.svg b/SystemTap_Beginners_Guide/Common_Content/images/37.svg
deleted file mode 100644
index 771fa4d1..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/37.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 17.51573,22.008438 4.316406,-9.960937 -5.578125,0 0,-2.1582035 8.367188,0 0,1.6103515 -4.424317,10.508789 -2.681152,0"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/38.png b/SystemTap_Beginners_Guide/Common_Content/images/38.png
deleted file mode 100644
index 3ce6027f..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/38.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/38.svg b/SystemTap_Beginners_Guide/Common_Content/images/38.svg
deleted file mode 100644
index 487e0ef3..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/38.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 20.48741,9.7149811 c 0.503575,1.23e-5 0.979486,0.060885 1.427734,0.1826172 0.448236,0.1217567 0.841139,0.3043737 1.178711,0.5478517 0.337557,0.243501 0.605949,0.547862 0.805176,0.913086 0.19921,0.365244 0.298819,0.794118 0.298828,1.286621 -9e-6,0.365243 -0.05535,0.697274 -0.166016,0.996094 -0.110685,0.293302 -0.262866,0.561694 -0.456543,0.805175 -0.193692,0.237963 -0.423347,0.451017 -0.688965,0.639161 -0.265631,0.188157 -0.553392,0.359707 -0.863281,0.514648 0.320957,0.171556 0.63362,0.362473 0.937988,0.572754 0.309889,0.210292 0.583814,0.448247 0.821778,0.713867 0.237947,0.260096 0.428865,0.55339 0.572754,0.879883 0.143871,0.326501 0.215811,0.691735 0.21582,1.095703 -9e-6,0.503583 -0.09962,0.960126 -0.298828,1.369629 -0.199227,0.409506 -0.478687,0.758139 -0.838379,1.045898 -0.359708,0.287761 -0.791348,0.509115 -1.294922,0.664063 -0.498053,0.154948 -1.048671,0.232422 -1.651855,0.232422 -0.652999,0 -1.234053,-0.07471 -1.743164,-0.224121 -0.509117,-0.149414 -0.937991,-0.362467 -1.286622,-0.639161 -0.348634,-0.276691 -0.614258,-0.617023 -0.796875,-1.020996 -0.177084,-0.403969 -0.265625,-0.857744 -0.265625,-1.361328 0,-0.415035 0.06087,-0.78857 0.182618,-1.120605 0.121744,-0.332027 0.287759,-0.630855 0.498046,-0.896485 0.210285,-0.265619 0.456542,-0.500808 0.73877,-0.705566 0.282224,-0.204747 0.583819,-0.384597 0.904785,-0.539551 -0.271161,-0.171543 -0.525718,-0.356927 -0.763672,-0.556152 -0.237957,-0.204746 -0.445477,-0.428866 -0.622558,-0.672363 -0.171551,-0.249016 -0.309897,-0.522942 -0.415039,-0.821778 -0.09961,-0.298819 -0.149415,-0.628083 -0.149414,-0.987793 -1e-6,-0.481435 0.09961,-0.902008 0.298828,-1.261718 0.204751,-0.365224 0.478676,-0.669585 0.821777,-0.913086 0.343097,-0.249012 0.738767,-0.434396 1.187012,-0.5561527 0.448238,-0.1217326 0.918615,-0.1826049 1.411133,-0.1826172 m -1.718262,9.0644529 c -3e-6,0.221357 0.03597,0.42611 0.10791,0.614258 0.07194,0.18262 0.17708,0.340334 0.31543,0.473145 0.143876,0.132814 0.32096,0.237957 0.53125,0.315429 0.210282,0.07194 0.453771,0.107912 0.730468,0.10791 0.58105,2e-6 1.015457,-0.135577 1.303223,-0.406738 0.287754,-0.27669 0.431634,-0.639157 0.431641,-1.087402 -7e-6,-0.232419 -0.04981,-0.439938 -0.149414,-0.622559 -0.09408,-0.188147 -0.218594,-0.359696 -0.373535,-0.514648 -0.14942,-0.160478 -0.32097,-0.307125 -0.514649,-0.439942 -0.19369,-0.132807 -0.387375,-0.260086 -0.581055,-0.381836 L 20.3878,16.72084 c -0.243494,0.12175 -0.464848,0.254563 -0.664062,0.398438 -0.199223,0.138351 -0.370772,0.293299 -0.514649,0.464844 -0.138349,0.16602 -0.246259,0.348637 -0.32373,0.547851 -0.07748,0.199223 -0.116214,0.415043 -0.116211,0.647461 m 1.70166,-7.188476 c -0.182622,10e-6 -0.354171,0.02768 -0.514648,0.08301 -0.154952,0.05535 -0.290532,0.13559 -0.406739,0.240723 -0.11068,0.105153 -0.199222,0.235199 -0.265625,0.390137 -0.06641,0.154957 -0.09961,0.329274 -0.09961,0.522949 -3e-6,0.232431 0.0332,0.434416 0.09961,0.605957 0.07194,0.166024 0.166012,0.315438 0.282227,0.448242 0.121741,0.127287 0.260087,0.243498 0.415039,0.348633 0.160477,0.09962 0.32926,0.199226 0.506348,0.298828 0.171544,-0.08853 0.334793,-0.185376 0.489746,-0.290527 0.154942,-0.105135 0.290522,-0.224113 0.406738,-0.356934 0.121739,-0.138338 0.218581,-0.293286 0.290527,-0.464843 0.07193,-0.171541 0.107904,-0.367993 0.10791,-0.589356 -6e-6,-0.193675 -0.03321,-0.367992 -0.09961,-0.522949 -0.06641,-0.154938 -0.15772,-0.284984 -0.273926,-0.390137 -0.116216,-0.105133 -0.254562,-0.185374 -0.415039,-0.240723 -0.160487,-0.05533 -0.334803,-0.083 -0.522949,-0.08301"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/39.png b/SystemTap_Beginners_Guide/Common_Content/images/39.png
deleted file mode 100644
index d6894500..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/39.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/39.svg b/SystemTap_Beginners_Guide/Common_Content/images/39.svg
deleted file mode 100644
index cea69f71..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/39.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 14.784773,12.587051 c -8e-6,0.420582 -0.06918,0.799651 -0.20752,1.137207 -0.13282,0.33204 -0.318204,0.625334 -0.556152,0.879883 -0.232429,0.249031 -0.509122,0.459317 -0.830078,0.63086 -0.315436,0.166022 -0.658535,0.2933 -1.029297,0.381836 l 0,0.0498 c 0.979485,0.121751 1.721021,0.420579 2.224609,0.896485 0.503573,0.470382 0.755363,1.106775 0.755371,1.909179 -8e-6,0.531253 -0.09685,1.023766 -0.290527,1.477539 -0.188159,0.448244 -0.481453,0.83838 -0.879883,1.170411 -0.39291,0.332031 -0.890957,0.592122 -1.49414,0.780273 -0.597662,0.182617 -1.303228,0.273926 -2.1167,0.273926 -0.6529976,0 -1.2672548,-0.05534 -1.842773,-0.166016 C 7.9421607,21.903295 7.4053774,21.740046 6.9073315,21.518692 l 0,-2.183105 c 0.2490227,0.132815 0.5118805,0.249025 0.7885742,0.348632 0.2766912,0.09961 0.5533836,0.185387 0.8300781,0.257325 0.2766904,0.06641 0.5478489,0.116212 0.8134766,0.149414 0.2711557,0.0332 0.5257127,0.04981 0.7636716,0.0498 0.475908,2e-6 0.871578,-0.04427 1.187012,-0.132812 0.315424,-0.08854 0.567215,-0.213051 0.755371,-0.373535 0.188145,-0.16048 0.320958,-0.351397 0.398438,-0.572754 0.083,-0.226885 0.124505,-0.473141 0.124511,-0.73877 -6e-6,-0.249019 -0.05258,-0.47314 -0.157715,-0.672363 -0.09962,-0.204748 -0.26563,-0.376297 -0.498046,-0.514648 C 11.685809,16.992 11.386981,16.881323 11.016218,16.803844 10.645446,16.726374 10.188903,16.687639 9.6465893,16.687633 l -0.8632813,0 0,-1.801269 0.8466797,0 c 0.5091113,7e-6 0.9324503,-0.04426 1.2700193,-0.132813 0.337561,-0.09407 0.605952,-0.218579 0.805176,-0.373535 0.204747,-0.160474 0.348627,-0.345858 0.431641,-0.556152 0.083,-0.210278 0.124506,-0.434399 0.124511,-0.672363 -5e-6,-0.431632 -0.135585,-0.769197 -0.406738,-1.012696 -0.26563,-0.243479 -0.688969,-0.365224 -1.270019,-0.365234 -0.265629,10e-6 -0.514653,0.02768 -0.7470708,0.08301 -0.2268911,0.04981 -0.4399443,0.116221 -0.6391601,0.199218 -0.1936875,0.07748 -0.3735376,0.166026 -0.5395508,0.265625 -0.1604838,0.09409 -0.3071308,0.188161 -0.4399414,0.282227 L 6.923933,10.893692 c 0.2324212,-0.171538 0.4842113,-0.329253 0.7553711,-0.473145 0.2766912,-0.143868 0.575519,-0.26838 0.8964844,-0.373535 0.3209611,-0.1106647 0.6668266,-0.1964393 1.0375977,-0.2573239 0.3707646,-0.06086 0.7664348,-0.091296 1.1870118,-0.091309 0.597651,1.23e-5 1.139968,0.066419 1.626953,0.1992188 0.492507,0.1272911 0.913079,0.3154421 1.261719,0.5644531 0.348625,0.243501 0.617017,0.545096 0.805176,0.904786 0.193676,0.354177 0.290519,0.760914 0.290527,1.220214"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.554792,15.052383 c -8e-6,0.581061 -0.03321,1.162116 -0.09961,1.743164 -0.06088,0.575526 -0.174325,1.126144 -0.340332,1.651856 -0.16049,0.525719 -0.381844,1.018232 -0.664063,1.477539 -0.2767,0.453778 -0.630866,0.846681 -1.0625,1.178711 -0.426112,0.332032 -0.94076,0.59489 -1.543945,0.788574 -0.597661,0.188151 -1.300459,0.282227 -2.108398,0.282227 -0.116214,0 -0.243493,-0.0028 -0.381836,-0.0083 -0.138349,-0.0055 -0.279462,-0.01384 -0.42334,-0.0249 -0.138348,-0.0055 -0.273928,-0.0166 -0.406738,-0.0332 -0.132814,-0.01107 -0.249025,-0.02767 -0.348633,-0.0498 l 0,-2.058594 c 0.204751,0.05534 0.423338,0.09961 0.655762,0.132813 0.237953,0.02767 0.478675,0.04151 0.722168,0.0415 0.747066,2e-6 1.361324,-0.09131 1.842773,-0.273925 0.48144,-0.188149 0.863276,-0.44824 1.145508,-0.780274 0.28222,-0.337562 0.481439,-0.738766 0.597656,-1.203613 0.121738,-0.464839 0.196445,-0.97672 0.224121,-1.535645 l -0.10791,0 c -0.110683,0.199225 -0.243496,0.384609 -0.398438,0.556153 -0.154953,0.171554 -0.33757,0.320968 -0.547851,0.448242 -0.210292,0.127283 -0.448247,0.226892 -0.713867,0.298828 -0.26563,0.07194 -0.561691,0.107914 -0.888184,0.10791 -0.525719,4e-6 -0.998863,-0.08577 -1.419433,-0.257324 -0.420575,-0.171545 -0.777509,-0.420568 -1.070801,-0.74707 -0.287762,-0.326492 -0.509116,-0.727696 -0.664063,-1.203614 -0.154948,-0.475904 -0.232422,-1.020988 -0.232422,-1.635253 0,-0.65852 0.09131,-1.247875 0.273926,-1.768067 0.18815,-0.520172 0.453775,-0.960113 0.796875,-1.319824 0.343097,-0.365223 0.758136,-0.644682 1.245117,-0.838379 0.49251,-0.1936727 1.043128,-0.2905151 1.651856,-0.2905274 0.597651,1.23e-5 1.15657,0.1079224 1.676758,0.3237304 0.520175,0.210298 0.971184,0.534028 1.353027,0.971192 0.381828,0.437185 0.683423,0.990569 0.904785,1.660156 0.221346,0.669605 0.332023,1.458178 0.332031,2.365722 m -4.216796,-3.262207 c -0.226893,1.1e-5 -0.434412,0.04151 -0.622559,0.124512 -0.188155,0.08302 -0.351403,0.213063 -0.489746,0.390137 -0.132816,0.171559 -0.237959,0.392913 -0.31543,0.664062 -0.07194,0.265634 -0.107913,0.581063 -0.10791,0.946289 -3e-6,0.586596 0.124509,1.05144 0.373535,1.394532 0.24902,0.343105 0.625322,0.514654 1.128906,0.514648 0.254553,6e-6 0.486975,-0.0498 0.697266,-0.149414 0.210281,-0.0996 0.390131,-0.229648 0.539551,-0.390137 0.149408,-0.160475 0.262852,-0.340325 0.340332,-0.53955 0.083,-0.199212 0.124505,-0.401197 0.124512,-0.605958 -7e-6,-0.282218 -0.03598,-0.561677 -0.107911,-0.838378 -0.06641,-0.282218 -0.171555,-0.534008 -0.315429,-0.755372 -0.138352,-0.226878 -0.312669,-0.409495 -0.52295,-0.547851 -0.204757,-0.138336 -0.44548,-0.207509 -0.722167,-0.20752"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/4.png b/SystemTap_Beginners_Guide/Common_Content/images/4.png
deleted file mode 100644
index 0a2634a5..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/4.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/4.svg b/SystemTap_Beginners_Guide/Common_Content/images/4.svg
deleted file mode 100644
index e6bbe8e9..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/4.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 20.573772,19.96 L 20.573772,17.172 L 19.043772,17.172 L 19.043772,10.1 L 15.779772,10.1 L 9.3707718,17.461 L 9.3707718,19.875 L 16.085772,19.875 L 16.085772,22 L 19.043772,22 L 19.043772,19.96 L 20.573772,19.96 M 16.136772,13.432 C 16.102772,13.992999 16.085772,15.302001 16.085772,15.999 L 16.085772,17.172 L 15.201772,17.172 C 14.385773,17.172 13.569771,17.189 12.974772,17.223 C 13.416772,16.798 13.909773,16.253999 14.538772,15.489 L 14.708772,15.285 C 15.490771,14.350001 15.813772,13.925 16.136772,13.432"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/40.png b/SystemTap_Beginners_Guide/Common_Content/images/40.png
deleted file mode 100644
index 0d3532e0..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/40.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/40.svg b/SystemTap_Beginners_Guide/Common_Content/images/40.svg
deleted file mode 100644
index bb4e1d7b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/40.svg
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:svg="http://www.w3.org/2000/svg"
6 xmlns="http://www.w3.org/2000/svg"
7 version="1.0"
8 width="32"
9 height="32"
10 id="svg2">
11 <defs
12 id="defs15" />
13 <circle
14 cx="16"
15 cy="16"
16 r="14"
17 id="circle"
18 style="fill:#336699" />
19 <g
20 id="text2820"
21 style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">
22 <path
23 d="m 15.440535,19.493301 -1.460938,0 0,2.515137 -2.498535,0 0,-2.515137 -5.0136719,0 0,-1.784668 5.1547849,-7.8359371 2.357422,0 0,7.6284181 1.460938,0 0,1.992187 m -3.959473,-1.992187 0,-2.058594 c -5e-6,-0.07193 -5e-6,-0.17431 0,-0.307129 0.0055,-0.138339 0.01106,-0.293287 0.0166,-0.464844 0.0055,-0.171541 0.01106,-0.348625 0.0166,-0.53125 0.01106,-0.182609 0.01936,-0.356925 0.0249,-0.522949 0.01106,-0.166007 0.01936,-0.309887 0.0249,-0.43164 0.01106,-0.12727 0.01936,-0.218579 0.0249,-0.273926 l -0.07471,0 c -0.09961,0.232431 -0.213058,0.478687 -0.340332,0.738769 -0.121749,0.2601 -0.262863,0.520191 -0.42334,0.780274 l -2.0253904,3.071289 2.7558594,0"
24 id="path2818"
25 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
26 <path
27 d="m 24.6378,15.940567 c -9e-6,0.979497 -0.07748,1.853845 -0.232422,2.623047 -0.149422,0.769208 -0.392912,1.422202 -0.730468,1.958984 -0.332039,0.536785 -0.763679,0.94629 -1.294922,1.228516 -0.525722,0.282226 -1.162115,0.42334 -1.90918,0.42334 -0.702803,0 -1.314294,-0.141114 -1.834473,-0.42334 -0.520184,-0.282226 -0.951824,-0.691731 -1.294922,-1.228516 -0.3431,-0.536782 -0.600424,-1.189776 -0.771972,-1.958984 -0.166016,-0.769202 -0.249024,-1.64355 -0.249024,-2.623047 0,-0.979485 0.07471,-1.8566 0.224121,-2.631348 0.154948,-0.77473 0.398437,-1.430491 0.730469,-1.967285 0.33203,-0.536772 0.760903,-0.946277 1.286621,-1.228515 0.525713,-0.2877487 1.162106,-0.4316287 1.90918,-0.431641 0.69726,1.23e-5 1.305984,0.1411254 1.826172,0.42334 0.520175,0.282238 0.954582,0.691743 1.303223,1.228515 0.348624,0.536794 0.608715,1.192555 0.780273,1.967286 0.171541,0.774747 0.257315,1.654629 0.257324,2.639648 m -5.760742,0 c -3e-6,1.383468 0.118975,2.423832 0.356934,3.121094 0.237952,0.697268 0.650223,1.0459 1.236816,1.045898 0.575516,2e-6 0.987787,-0.345863 1.236816,-1.037597 0.254552,-0.691729 0.38183,-1.734859 0.381836,-3.129395 -6e-6,-1.38899 -0.127284,-2.43212 -0.381836,-3.129395 -0.249029,-0.702789 -0.6613,-1.054188 -1.236816,-1.054199 -0.293299,1.1e-5 -0.542322,0.08855 -0.74707,0.265625 -0.199223,0.177093 -0.362471,0.439951 -0.489746,0.788574 -0.127282,0.348642 -0.218591,0.785816 -0.273926,1.311524 -0.05534,0.52019 -0.08301,1.126146 -0.08301,1.817871"
28 id="path2820"
29 style="font-size:17px;font-weight:bold;fill:#ffffff;-inkscape-font-specification:Bitstream Vera Sans Bold" />
30 </g>
31</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/5.png b/SystemTap_Beginners_Guide/Common_Content/images/5.png
deleted file mode 100644
index bc1d3370..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/5.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/5.svg b/SystemTap_Beginners_Guide/Common_Content/images/5.svg
deleted file mode 100644
index d8578f23..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/5.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 21.219,17.852 C 21.219,15.200003 19.535997,13.908 16.969,13.908 C 15.779001,13.908 15.064999,14.112 14.402,14.435 L 14.504,12.786 L 20.505,12.786 L 20.505,10.1 L 11.835,10.1 L 11.427,16.271 L 14.249,17.223 C 14.843999,16.798 15.439001,16.543 16.442,16.543 C 17.461999,16.543 18.04,17.019001 18.04,17.937 C 18.04,18.888999 17.478998,19.45 15.949,19.45 C 14.674001,19.45 13.262999,18.956999 12.124,18.277 L 10.781,20.742 C 12.242999,21.625999 13.807002,22.187 15.864,22.187 C 19.246997,22.187 21.219,20.622997 21.219,17.852"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/6.png b/SystemTap_Beginners_Guide/Common_Content/images/6.png
deleted file mode 100644
index 68cb4b61..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/6.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/6.svg b/SystemTap_Beginners_Guide/Common_Content/images/6.svg
deleted file mode 100644
index 14d62e02..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/6.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 21.2445,17.903 C 21.2445,15.387003 19.510497,14.214 17.0455,14.214 C 15.617501,14.214 14.750499,14.486 13.9855,14.911 C 14.886499,13.534001 16.518503,12.616 19.6295,12.616 L 19.6295,9.913 C 12.829507,9.913 10.7555,14.112003 10.7555,17.257 C 10.7555,20.537997 12.829503,22.187 15.8215,22.187 C 19.187497,22.187 21.2445,20.588997 21.2445,17.903 M 18.0655,18.124 C 18.0655,19.075999 17.232499,19.586 15.9915,19.586 C 14.546501,19.586 13.9005,18.990999 13.9005,18.141 C 13.9005,17.206001 14.597501,16.645 16.0595,16.645 C 17.317499,16.645 18.0655,17.206001 18.0655,18.124"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/7.png b/SystemTap_Beginners_Guide/Common_Content/images/7.png
deleted file mode 100644
index 3b6cc723..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/7.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/7.svg b/SystemTap_Beginners_Guide/Common_Content/images/7.svg
deleted file mode 100644
index 8d71ee3a..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/7.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 20.9215,12.48 L 20.9215,10.1 L 11.0785,10.1 L 11.0785,12.786 L 16.9945,12.786 C 14.699502,15.131998 13.5775,17.920004 13.5435,22 L 16.7735,22 C 16.7735,18.141004 17.436503,15.675997 20.9215,12.48"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/8.png b/SystemTap_Beginners_Guide/Common_Content/images/8.png
deleted file mode 100644
index b092185a..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/8.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/8.svg b/SystemTap_Beginners_Guide/Common_Content/images/8.svg
deleted file mode 100644
index 1c31e868..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/8.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 21.423,18.294 C 21.423,16.764002 20.334999,15.948 19.57,15.642 C 20.317999,15.166 20.913,14.519999 20.913,13.449 C 20.913,11.171002 18.889997,9.913 16.017,9.913 C 13.144003,9.913 11.087,11.171002 11.087,13.449 C 11.087,14.519999 11.716001,15.251 12.43,15.676 C 11.665001,15.982 10.577,16.764002 10.577,18.294 C 10.577,20.707998 12.651003,22.187 15.983,22.187 C 19.314997,22.187 21.423,20.707998 21.423,18.294 M 17.751,13.5 C 17.751,14.094999 17.308999,14.639 16.017,14.639 C 14.725001,14.639 14.249,14.094999 14.249,13.5 C 14.249,12.905001 14.691001,12.31 15.983,12.31 C 17.274999,12.31 17.751,12.905001 17.751,13.5 M 18.261,18.26 C 18.261,19.075999 17.512998,19.688 16.017,19.688 C 14.521001,19.688 13.739,19.075999 13.739,18.26 C 13.739,17.444001 14.470002,16.849 15.983,16.849 C 17.478998,16.849 18.261,17.444001 18.261,18.26"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/9.png b/SystemTap_Beginners_Guide/Common_Content/images/9.png
deleted file mode 100644
index 77065833..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/9.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/9.svg b/SystemTap_Beginners_Guide/Common_Content/images/9.svg
deleted file mode 100644
index 851e9a35..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/9.svg
+++ /dev/null
@@ -1,22 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:svg="http://www.w3.org/2000/svg"
5 xmlns="http://www.w3.org/2000/svg"
6 version="1.0"
7 width="32"
8 height="32"
9 id="svg2">
10 <defs
11 id="defs15" />
12 <circle
13 cx="16"
14 cy="16"
15 r="14"
16 id="circle"
17 style="fill:#aa0000" />
18 <path
19 d="M 22.128383,14.843 C 22.128383,11.562003 20.05438,9.913 17.062383,9.913 C 13.696386,9.913 11.639383,11.511003 11.639383,14.197 C 11.639383,16.712997 13.373385,17.886 15.838383,17.886 C 17.266382,17.886 18.133384,17.614 18.898383,17.189 C 17.997384,18.565999 16.36538,19.484 13.254383,19.484 L 13.254383,22.187 C 20.054376,22.187 22.128383,17.987997 22.128383,14.843 M 18.983383,13.959 C 18.983383,14.893999 18.286381,15.455 16.824383,15.455 C 15.566384,15.455 14.818383,14.893999 14.818383,13.976 C 14.818383,13.024001 15.651384,12.514 16.892383,12.514 C 18.337381,12.514 18.983383,13.109001 18.983383,13.959"
20 id="text2219"
21 style="fill:#ffffff" />
22</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/bkgrnd_greydots.png b/SystemTap_Beginners_Guide/Common_Content/images/bkgrnd_greydots.png
deleted file mode 100644
index 2333a6db..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/bkgrnd_greydots.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/bullet_arrowblue.png b/SystemTap_Beginners_Guide/Common_Content/images/bullet_arrowblue.png
deleted file mode 100644
index c2355345..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/bullet_arrowblue.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/documentation.png b/SystemTap_Beginners_Guide/Common_Content/images/documentation.png
deleted file mode 100644
index 79d0a804..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/documentation.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/dot.png b/SystemTap_Beginners_Guide/Common_Content/images/dot.png
deleted file mode 100644
index 36a68599..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/dot.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/dot2.png b/SystemTap_Beginners_Guide/Common_Content/images/dot2.png
deleted file mode 100644
index 40aff923..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/dot2.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/green.png b/SystemTap_Beginners_Guide/Common_Content/images/green.png
deleted file mode 100644
index ebb3c247..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/green.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/h1-bg.png b/SystemTap_Beginners_Guide/Common_Content/images/h1-bg.png
deleted file mode 100644
index a2aad24b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/h1-bg.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/image_left.png b/SystemTap_Beginners_Guide/Common_Content/images/image_left.png
deleted file mode 100644
index e8fe7a4d..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/image_left.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/image_right.png b/SystemTap_Beginners_Guide/Common_Content/images/image_right.png
deleted file mode 100644
index 166cb79b..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/image_right.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/important.png b/SystemTap_Beginners_Guide/Common_Content/images/important.png
deleted file mode 100644
index f7594a32..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/important.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/important.svg b/SystemTap_Beginners_Guide/Common_Content/images/important.svg
deleted file mode 100644
index 2d330455..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/important.svg
+++ /dev/null
@@ -1,106 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:dc="http://purl.org/dc/elements/1.1/"
5 xmlns:cc="http://creativecommons.org/ns#"
6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7 xmlns:svg="http://www.w3.org/2000/svg"
8 xmlns="http://www.w3.org/2000/svg"
9 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11 version="1.0"
12 width="48"
13 height="48"
14 id="svg5921"
15 sodipodi:version="0.32"
16 inkscape:version="0.46"
17 sodipodi:docname="important.svg"
18 inkscape:output_extension="org.inkscape.output.svg.inkscape"
19 inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/important.png"
20 inkscape:export-xdpi="111.32"
21 inkscape:export-ydpi="111.32">
22 <metadata
23 id="metadata2611">
24 <rdf:RDF>
25 <cc:Work
26 rdf:about="">
27 <dc:format>image/svg+xml</dc:format>
28 <dc:type
29 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
30 </cc:Work>
31 </rdf:RDF>
32 </metadata>
33 <sodipodi:namedview
34 inkscape:window-height="681"
35 inkscape:window-width="738"
36 inkscape:pageshadow="2"
37 inkscape:pageopacity="0.0"
38 guidetolerance="10.0"
39 gridtolerance="10.0"
40 objecttolerance="10.0"
41 borderopacity="1.0"
42 bordercolor="#666666"
43 pagecolor="#ffffff"
44 id="base"
45 showgrid="false"
46 inkscape:zoom="11.5"
47 inkscape:cx="20"
48 inkscape:cy="20"
49 inkscape:window-x="0"
50 inkscape:window-y="51"
51 inkscape:current-layer="svg5921" />
52 <defs
53 id="defs5923">
54 <inkscape:perspective
55 sodipodi:type="inkscape:persp3d"
56 inkscape:vp_x="0 : 20 : 1"
57 inkscape:vp_y="0 : 1000 : 0"
58 inkscape:vp_z="40 : 20 : 1"
59 inkscape:persp3d-origin="20 : 13.333333 : 1"
60 id="perspective2613" />
61 </defs>
62 <g
63 transform="matrix(0.4626799,0,0,0.4626799,-5.2934127,-3.3160376)"
64 id="g5485">
65 <path
66 d="M 29.97756,91.885882 L 55.586992,80.409826 L 81.231619,91.807015 L 78.230933,63.90468 L 96.995009,43.037218 L 69.531053,37.26873 L 55.483259,12.974592 L 41.510292,37.311767 L 14.064204,43.164717 L 32.892392,63.97442 L 29.97756,91.885882 z"
67 id="path6799"
68 style="fill:#f3de82;fill-opacity:1;enable-background:new" />
69 <path
70 d="M 55.536215,56.538729 L 55.48324,12.974601 L 41.51028,37.311813 L 55.536215,56.538729 z"
71 id="path6824"
72 style="opacity:0.91005291;fill:#f9f2cb;fill-opacity:1;enable-background:new" />
73 <path
74 d="M 55.57947,56.614318 L 78.241135,63.937979 L 96.976198,43.044318 L 55.57947,56.614318 z"
75 id="use6833"
76 style="opacity:1;fill:#d0bc64;fill-opacity:1;enable-background:new" />
77 <path
78 d="M 55.523838,56.869126 L 55.667994,80.684281 L 81.379011,91.931065 L 55.523838,56.869126 z"
79 id="use6835"
80 style="opacity:1;fill:#e0c656;fill-opacity:1;enable-background:new" />
81 <path
82 d="M 55.283346,56.742618 L 13.877363,43.200977 L 32.640089,64.069652 L 55.283346,56.742618 z"
83 id="use6831"
84 style="opacity:1;fill:#d1ba59;fill-opacity:1;enable-background:new" />
85 <path
86 d="M 55.472076,56.869126 L 55.32792,80.684281 L 29.616903,91.931065 L 55.472076,56.869126 z"
87 id="use6837"
88 style="opacity:1;fill:#d2b951;fill-opacity:1;enable-background:new" />
89 <path
90 d="M 55.57947,56.614318 L 96.976198,43.044318 L 69.504294,37.314027 L 55.57947,56.614318 z"
91 id="path7073"
92 style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new" />
93 <path
94 d="M 55.523838,56.869126 L 81.379011,91.931065 L 78.214821,64.046881 L 55.523838,56.869126 z"
95 id="path7075"
96 style="opacity:1;fill:#f6e7a3;fill-opacity:1;enable-background:new" />
97 <path
98 d="M 55.283346,56.742618 L 41.341708,37.434209 L 13.877363,43.200977 L 55.283346,56.742618 z"
99 id="path7077"
100 style="opacity:1;fill:#f6e59d;fill-opacity:1;enable-background:new" />
101 <path
102 d="M 55.472076,56.869126 L 29.616903,91.931065 L 32.781093,64.046881 L 55.472076,56.869126 z"
103 id="path7079"
104 style="opacity:1;fill:#f3df8b;fill-opacity:1;enable-background:new" />
105 </g>
106</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/logo.png b/SystemTap_Beginners_Guide/Common_Content/images/logo.png
deleted file mode 100644
index 66a3104e..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/note.png b/SystemTap_Beginners_Guide/Common_Content/images/note.png
deleted file mode 100644
index d6c45189..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/note.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/note.svg b/SystemTap_Beginners_Guide/Common_Content/images/note.svg
deleted file mode 100644
index 70e43b66..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/note.svg
+++ /dev/null
@@ -1,111 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:dc="http://purl.org/dc/elements/1.1/"
5 xmlns:cc="http://creativecommons.org/ns#"
6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7 xmlns:svg="http://www.w3.org/2000/svg"
8 xmlns="http://www.w3.org/2000/svg"
9 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11 version="1.0"
12 width="48"
13 height="48"
14 id="svg5921"
15 sodipodi:version="0.32"
16 inkscape:version="0.46"
17 sodipodi:docname="note.svg"
18 inkscape:output_extension="org.inkscape.output.svg.inkscape"
19 inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/note.png"
20 inkscape:export-xdpi="111.32"
21 inkscape:export-ydpi="111.32">
22 <metadata
23 id="metadata16">
24 <rdf:RDF>
25 <cc:Work
26 rdf:about="">
27 <dc:format>image/svg+xml</dc:format>
28 <dc:type
29 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
30 </cc:Work>
31 </rdf:RDF>
32 </metadata>
33 <sodipodi:namedview
34 inkscape:window-height="1024"
35 inkscape:window-width="1205"
36 inkscape:pageshadow="2"
37 inkscape:pageopacity="0.0"
38 guidetolerance="10.0"
39 gridtolerance="10.0"
40 objecttolerance="10.0"
41 borderopacity="1.0"
42 bordercolor="#666666"
43 pagecolor="#ffffff"
44 id="base"
45 showgrid="false"
46 inkscape:zoom="11.5"
47 inkscape:cx="22.217181"
48 inkscape:cy="20"
49 inkscape:window-x="334"
50 inkscape:window-y="51"
51 inkscape:current-layer="svg5921" />
52 <defs
53 id="defs5923">
54 <inkscape:perspective
55 sodipodi:type="inkscape:persp3d"
56 inkscape:vp_x="0 : 20 : 1"
57 inkscape:vp_y="0 : 1000 : 0"
58 inkscape:vp_z="40 : 20 : 1"
59 inkscape:persp3d-origin="20 : 13.333333 : 1"
60 id="perspective18" />
61 </defs>
62 <g
63 transform="matrix(0.468275,0,0,0.468275,-5.7626904,-7.4142703)"
64 id="layer1">
65 <g
66 transform="matrix(0.115136,0,0,0.115136,9.7283,21.77356)"
67 id="g8014"
68 style="enable-background:new">
69 <g
70 id="g8518"
71 style="opacity:1">
72 <path
73 d="M -2512.4524,56.33197 L 3090.4719,56.33197 L 3090.4719,4607.3813 L -2512.4524,4607.3813 L -2512.4524,56.33197 z"
74 transform="matrix(0.1104659,-2.3734892e-2,2.2163258e-2,0.1031513,308.46782,74.820675)"
75 id="rect8018"
76 style="fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
77 </g>
78 <g
79 transform="matrix(0.5141653,-7.1944682e-2,7.1944682e-2,0.5141653,146.04015,-82.639785)"
80 id="g8020">
81 <path
82 d="M 511.14114,441.25315 C 527.3248,533.52772 464.31248,622.82928 370.39916,640.71378 C 276.48584,658.59828 187.23462,598.29322 171.05095,506.01865 C 154.86728,413.74408 217.8796,324.44253 311.79292,306.55803 C 405.70624,288.67353 494.95747,348.97858 511.14114,441.25315 z"
83 id="path8022"
84 style="opacity:1;fill:#e0c96f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
85 <path
86 d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625 404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C 280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695 527.8214,324.97052 527.8214,393.1416 z"
87 transform="matrix(1.2585415,-0.2300055,0.2168789,1.1867072,-248.76141,68.254424)"
88 id="path8024"
89 style="opacity:1;fill:#c00000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.0804934;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
90 <path
91 d="M 358.5625,281.15625 C 348.09597,281.05155 337.43773,281.94729 326.71875,283.90625 C 240.96686,299.57789 183.37901,377.92385 198.15625,458.78125 C 209.70749,521.98673 262.12957,567.92122 325.40625,577.5625 L 357.25,433.6875 L 509.34375,405.875 C 509.14405,404.58166 509.0804,403.29487 508.84375,402 C 495.91366,331.24978 431.82821,281.88918 358.5625,281.15625 z"
92 id="path8026"
93 style="opacity:1;fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
94 <path
95 d="M 294.2107,361.9442 L 282.79367,370.38482 L 261.73414,386.13346 C 253.13706,404.40842 254.3359,423.7989 259.7176,444.39774 C 273.6797,497.83861 313.42636,523.96124 369.50989,517.58957 C 398.21848,514.32797 424.51832,504.67345 440.64696,484.15958 L 469.89512,447.48298 L 294.2107,361.9442 z"
96 id="path8028"
97 style="fill:#750000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.09999999;stroke-linecap:butt;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
98 <path
99 d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625 404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C 280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695 527.8214,324.97052 527.8214,393.1416 z"
100 transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-78.013985,79.234385)"
101 id="path8030"
102 style="opacity:1;fill:#d40000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
103 <path
104 d="M 527.8214,393.1416 C 527.8214,461.31268 472.55783,516.57625 404.38675,516.57625 C 336.21567,516.57625 280.9521,461.31268 280.9521,393.1416 C 280.9521,324.97052 336.21567,269.70695 404.38675,269.70695 C 472.55783,269.70695 527.8214,324.97052 527.8214,393.1416 z"
105 transform="matrix(0.9837071,-0.1797787,0.1695165,0.9275553,-69.306684,71.273294)"
106 id="path8032"
107 style="opacity:1;fill:#e11212;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.10298239;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
108 </g>
109 </g>
110 </g>
111</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/red.png b/SystemTap_Beginners_Guide/Common_Content/images/red.png
deleted file mode 100644
index d32d5e2e..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/red.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/shade.png b/SystemTap_Beginners_Guide/Common_Content/images/shade.png
deleted file mode 100644
index a73afdf6..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/shade.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/shine.png b/SystemTap_Beginners_Guide/Common_Content/images/shine.png
deleted file mode 100644
index a18f7c46..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/shine.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-back.png b/SystemTap_Beginners_Guide/Common_Content/images/stock-go-back.png
deleted file mode 100644
index d320f26c..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-back.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-forward.png b/SystemTap_Beginners_Guide/Common_Content/images/stock-go-forward.png
deleted file mode 100644
index 1ee5a29e..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-forward.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-up.png b/SystemTap_Beginners_Guide/Common_Content/images/stock-go-up.png
deleted file mode 100644
index 1cd73324..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/stock-go-up.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/stock-home.png b/SystemTap_Beginners_Guide/Common_Content/images/stock-home.png
deleted file mode 100644
index 122536d6..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/stock-home.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/title_logo.png b/SystemTap_Beginners_Guide/Common_Content/images/title_logo.png
deleted file mode 100644
index d5182b48..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/title_logo.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/title_logo.svg b/SystemTap_Beginners_Guide/Common_Content/images/title_logo.svg
deleted file mode 100644
index e84ee0e7..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/title_logo.svg
+++ /dev/null
@@ -1,109 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:dc="http://purl.org/dc/elements/1.1/"
5 xmlns:cc="http://creativecommons.org/ns#"
6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7 xmlns:svg="http://www.w3.org/2000/svg"
8 xmlns="http://www.w3.org/2000/svg"
9 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11 version="1.0"
12 width="220"
13 height="70"
14 id="svg6180"
15 sodipodi:version="0.32"
16 inkscape:version="0.46"
17 sodipodi:docname="title_logo.svg"
18 inkscape:output_extension="org.inkscape.output.svg.inkscape">
19 <metadata
20 id="metadata16">
21 <rdf:RDF>
22 <cc:Work
23 rdf:about="">
24 <dc:format>image/svg+xml</dc:format>
25 <dc:type
26 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27 </cc:Work>
28 </rdf:RDF>
29 </metadata>
30 <sodipodi:namedview
31 inkscape:window-height="990"
32 inkscape:window-width="1680"
33 inkscape:pageshadow="2"
34 inkscape:pageopacity="0.0"
35 guidetolerance="10.0"
36 gridtolerance="10.0"
37 objecttolerance="10.0"
38 borderopacity="1.0"
39 bordercolor="#666666"
40 pagecolor="#ffffff"
41 id="base"
42 showgrid="false"
43 showguides="true"
44 inkscape:guide-bbox="true"
45 inkscape:zoom="7.4053365"
46 inkscape:cx="173.22629"
47 inkscape:cy="36.314321"
48 inkscape:window-x="-5"
49 inkscape:window-y="-3"
50 inkscape:current-layer="svg6180" />
51 <defs
52 id="defs6182">
53 <inkscape:perspective
54 sodipodi:type="inkscape:persp3d"
55 inkscape:vp_x="0 : 35 : 1"
56 inkscape:vp_y="0 : 1000 : 0"
57 inkscape:vp_z="220 : 35 : 1"
58 inkscape:persp3d-origin="110 : 23.333333 : 1"
59 id="perspective18" />
60 </defs>
61 <g
62 transform="translate(-266.55899,-345.34488)"
63 id="layer1">
64 <path
65 d="M 316.7736,397.581 C 316.7736,397.581 316.7736,397.581 296.23471,397.581 C 296.56741,402.03345 300.15628,405.35709 304.94186,405.35709 C 308.33169,405.35709 311.25642,403.96093 313.5828,401.70202 C 314.04833,401.23523 314.58006,401.1024 315.17799,401.1024 C 315.9758,401.1024 316.7736,401.50172 317.30491,402.16628 C 317.63761,402.63181 317.83707,403.16354 317.83707,403.69485 C 317.83707,404.42603 317.50437,405.22342 316.90601,405.82219 C 314.11411,408.81271 309.39515,410.80722 304.74198,410.80722 C 296.30049,410.80722 289.52124,404.02755 289.52124,395.58564 C 289.52124,387.14415 296.10146,380.3649 304.54295,380.3649 C 312.91824,380.3649 319.16618,386.87807 319.16618,395.45239 C 319.16618,396.71657 318.03694,397.581 316.7736,397.581 z M 304.54295,385.81588 C 300.08966,385.81588 297.0321,388.74061 296.36796,392.99319 C 306.40422,392.99319 312.71879,392.99319 312.71879,392.99319 C 312.12043,388.93964 308.93005,385.81588 304.54295,385.81588 z"
66 id="path11"
67 style="fill:#3c6eb4" />
68 <path
69 d="M 375.46344,410.80807 C 367.02238,410.80807 360.2427,404.02839 360.2427,395.58648 C 360.2427,387.14499 367.02238,380.36574 375.46344,380.36574 C 383.90578,380.36574 390.68503,387.14499 390.68503,395.58648 C 390.68461,404.02797 383.90535,410.80807 375.46344,410.80807 z M 375.46344,386.14815 C 370.14656,386.14815 366.68967,390.40242 366.68967,395.58648 C 366.68967,400.77012 370.14656,405.02481 375.46344,405.02481 C 380.78075,405.02481 384.23848,400.77012 384.23848,395.58648 C 384.23806,390.40242 380.78075,386.14815 375.46344,386.14815 z"
70 id="path13"
71 style="fill:#3c6eb4" />
72 <path
73 d="M 412.66183,380.36574 C 408.2022,380.36574 405.25217,381.68474 402.64792,384.9953 L 402.40756,383.45535 L 402.40756,383.45535 C 402.20558,381.84792 400.8343,380.60609 399.17374,380.60609 C 397.37235,380.60609 395.91168,382.06509 395.91168,383.8669 C 395.91168,383.86943 395.91168,383.87196 395.91168,383.87449 L 395.91168,383.87449 L 395.91168,383.87744 L 395.91168,383.87744 L 395.91168,407.28456 C 395.91168,409.0792 397.37362,410.54199 399.16868,410.54199 C 400.96333,410.54199 402.42612,409.0792 402.42612,407.28456 L 402.42612,394.72247 C 402.42612,389.00626 407.41114,386.14815 412.66225,386.14815 C 414.25744,386.14815 415.51951,384.81862 415.51951,383.223 C 415.51951,381.62739 414.25744,380.36574 412.66183,380.36574 z"
74 id="path15"
75 style="fill:#3c6eb4" />
76 <path
77 d="M 447.02614,395.58648 C 447.09277,387.41107 441.24288,380.36574 431.80414,380.36574 C 423.36222,380.36574 416.51635,387.14499 416.51635,395.58648 C 416.51635,404.02839 423.16319,410.80807 431.2062,410.80807 C 435.22054,410.80807 438.83302,408.74186 440.44466,406.58289 L 441.23825,408.59723 L 441.23825,408.59723 C 441.66414,409.729 442.75585,410.5344 444.03605,410.5344 C 445.68606,410.5344 447.02361,409.19769 447.02614,407.54895 L 447.02614,407.54895 L 447.02614,399.74208 L 447.02614,399.74208 L 447.02614,395.58648 z M 431.80414,405.02481 C 426.48641,405.02481 423.02995,400.77012 423.02995,395.58648 C 423.02995,390.40242 426.48599,386.14815 431.80414,386.14815 C 437.12144,386.14815 440.57833,390.40242 440.57833,395.58648 C 440.57833,400.77012 437.12144,405.02481 431.80414,405.02481 z"
78 id="path17"
79 style="fill:#3c6eb4" />
80 <path
81 d="M 355.01479,368.3337 C 355.01479,366.5399 353.55285,365.14373 351.7582,365.14373 C 349.96398,365.14373 348.50077,366.54032 348.50077,368.3337 L 348.50077,385.4836 C 346.8398,382.42604 343.25051,380.36574 338.99582,380.36574 C 330.3553,380.36574 324.57246,386.87892 324.57246,395.58648 C 324.57246,404.29405 330.55475,410.80807 338.99582,410.80807 C 342.76137,410.80807 346.02639,409.25378 347.98169,406.55253 L 348.70486,408.38681 C 349.15268,409.64593 350.35403,410.54705 351.76537,410.54705 C 353.55158,410.54705 355.01521,409.0927 355.01521,407.2989 C 355.01521,407.29384 355.01521,407.29004 355.01521,407.28498 L 355.01521,407.28498 L 355.01521,368.3337 L 355.01479,368.3337 z M 339.79363,405.02481 C 334.47632,405.02481 331.08648,400.77012 331.08648,395.58648 C 331.08648,390.40242 334.47632,386.14815 339.79363,386.14815 C 345.11136,386.14815 348.50077,390.20255 348.50077,395.58648 C 348.50077,400.96957 345.11136,405.02481 339.79363,405.02481 z"
82 id="path19"
83 style="fill:#3c6eb4" />
84 <path
85 d="M 287.21553,365.34023 C 286.62139,365.25253 286.01587,365.20825 285.41456,365.20825 C 278.68338,365.20825 273.2071,370.68495 273.2071,377.41613 L 273.2071,381.22933 L 269.21807,381.22933 C 267.7557,381.22933 266.55899,382.42604 266.55899,383.88714 C 266.55899,385.35035 267.7557,386.82452 269.21807,386.82452 L 273.20626,386.82452 L 273.20626,407.28456 C 273.20626,409.0792 274.66862,410.54199 276.46284,410.54199 C 278.25791,410.54199 279.72028,409.0792 279.72028,407.28456 L 279.72028,386.82452 L 284.13014,386.82452 C 285.59208,386.82452 286.78837,385.35035 286.78837,383.88714 C 286.78837,382.42562 285.59208,381.22891 284.13014,381.22891 L 279.72281,381.22891 L 279.72281,377.41571 C 279.72281,374.27719 282.27604,371.30102 285.41456,371.30102 C 285.6975,371.30102 285.98213,371.3221 286.26128,371.363 C 288.04159,371.62655 289.69708,370.82031 289.96147,369.03958 C 290.22417,367.26054 288.99541,365.6042 287.21553,365.34023 z"
86 id="path21"
87 style="fill:#3c6eb4" />
88 <path
89 d="M 482.01243,363.57426 C 482.01243,353.50638 473.85135,345.34488 463.78346,345.34488 C 453.72064,345.34488 445.56167,353.49963 445.55492,363.56119 L 445.5545,363.56077 L 445.5545,377.66787 L 445.55492,377.66829 C 445.5604,379.95292 447.41324,381.80238 449.69955,381.80238 C 449.7063,381.80238 449.71221,381.80154 449.71895,381.80154 L 449.72022,381.80238 L 463.79105,381.80238 L 463.79105,381.80238 C 473.85514,381.79817 482.01243,373.63962 482.01243,363.57426 z"
90 id="path25"
91 style="fill:#294172" />
92 <path
93 d="M 469.13577,349.66577 C 464.41049,349.66577 460.58001,353.49626 460.58001,358.22154 C 460.58001,358.22322 460.58001,358.22533 460.58001,358.22744 L 460.58001,362.7558 L 456.06557,362.7558 C 456.06472,362.7558 456.06472,362.7558 456.0643,362.7558 C 451.33902,362.7558 447.50854,366.56773 447.50854,371.29258 C 447.50854,376.01786 451.33902,379.84835 456.0643,379.84835 C 460.78916,379.84835 464.61964,376.01786 464.61964,371.29258 C 464.61964,371.2909 464.61964,371.28879 464.61964,371.28668 L 464.61964,366.73935 L 469.13408,366.73935 C 469.13493,366.73935 469.13535,366.73935 469.13577,366.73935 C 473.86063,366.73935 477.69111,362.94639 477.69111,358.22154 C 477.69111,353.49626 473.86063,349.66577 469.13577,349.66577 z M 460.58001,371.3006 C 460.57621,373.79058 458.55555,375.80871 456.0643,375.80871 C 453.57052,375.80871 451.53004,373.78678 451.53004,371.29301 C 451.53004,368.7988 453.57052,366.73935 456.0643,366.73935 C 456.06641,366.73935 456.06852,366.73977 456.0702,366.73977 L 459.93991,366.73977 C 459.94117,366.73977 459.94201,366.73935 459.94286,366.73935 C 460.29495,366.73935 460.58085,367.0244 460.58085,367.3765 C 460.58085,367.37692 460.58043,367.37734 460.58043,367.37776 L 460.58043,371.3006 L 460.58001,371.3006 z M 469.13535,362.7558 C 469.13408,362.7558 469.1324,362.7558 469.13113,362.7558 L 465.2589,362.7558 C 465.25806,362.7558 465.25721,362.7558 465.25679,362.7558 C 464.90427,362.7558 464.61922,362.47074 464.61922,362.11822 L 464.61922,362.1178 L 464.61922,358.21437 C 464.62344,355.72354 466.64368,353.70583 469.13493,353.70583 C 471.62871,353.70583 473.66961,355.72776 473.66961,358.22196 C 473.67003,360.71532 471.62913,362.7558 469.13535,362.7558 z"
94 id="path29"
95 style="fill:#3c6eb4" />
96 <path
97 d="M 460.58001,362.7558 L 460.58001,358.22744 C 460.58001,358.22533 460.58001,358.22322 460.58001,358.22154 C 460.58001,353.49626 464.41049,349.66577 469.13577,349.66577 C 469.85262,349.66577 470.362,349.74631 471.02529,349.92046 C 471.99303,350.17431 472.78325,350.96664 472.78367,351.88968 C 472.78409,353.00543 471.97448,353.81589 470.76427,353.81589 C 470.18785,353.81589 469.97954,353.70541 469.13535,353.70541 C 466.6441,353.70541 464.62386,355.72312 464.61964,358.21395 L 464.61964,362.1178 L 464.61964,362.11822 C 464.61964,362.47074 464.90469,362.7558 465.25721,362.7558 C 465.25764,362.7558 465.25848,362.7558 465.25932,362.7558 L 468.22453,362.7558 C 469.32974,362.7558 470.222,363.64047 470.22285,364.74863 C 470.22285,365.85679 469.32932,366.73977 468.22453,366.73977 L 464.61964,366.73977 L 464.61964,371.2871 C 464.61964,371.28921 464.61964,371.29132 464.61964,371.29343 C 464.61964,376.01828 460.78916,379.84877 456.0643,379.84877 C 455.34746,379.84877 454.83807,379.76823 454.17478,379.59408 C 453.20704,379.34065 452.4164,378.5479 452.41598,377.62528 C 452.41598,376.50953 453.22517,375.69865 454.4358,375.69865 C 455.0118,375.69865 455.22053,375.80913 456.0643,375.80913 C 458.55555,375.80913 460.57621,373.79142 460.58043,371.30102 C 460.58043,371.30102 460.58043,367.37734 460.58043,367.37692 C 460.58043,367.02524 460.29453,366.74019 459.94244,366.74019 C 459.94201,366.74019 459.94159,366.74019 459.94075,366.74019 L 456.97554,366.73977 C 455.87033,366.73977 454.97723,365.85763 454.97723,364.74947 C 454.9768,363.63414 455.87961,362.7558 456.99662,362.7558 L 460.58001,362.7558 L 460.58001,362.7558 z"
98 id="path31"
99 style="fill:#ffffff" />
100 <path
101 d="M 477.41661,378.55292 L 480.23219,378.55292 L 480.23219,378.9319 L 479.05067,378.9319 L 479.05067,381.88125 L 478.59813,381.88125 L 478.59813,378.9319 L 477.41661,378.9319 L 477.41661,378.55292 M 480.67805,378.55292 L 481.34906,378.55292 L 482.19843,380.81788 L 483.05224,378.55292 L 483.72326,378.55292 L 483.72326,381.88125 L 483.28409,381.88125 L 483.28409,378.95865 L 482.42581,381.24144 L 481.97326,381.24144 L 481.11499,378.95865 L 481.11499,381.88125 L 480.67805,381.88125 L 480.67805,378.55292"
102 id="text6223"
103 style="fill:#294172;enable-background:new" />
104 </g>
105 <path
106 d="M 181.98344,61.675273 L 184.79902,61.675273 L 184.79902,62.054253 L 183.6175,62.054253 L 183.6175,65.003603 L 183.16496,65.003603 L 183.16496,62.054253 L 181.98344,62.054253 L 181.98344,61.675273 M 185.24488,61.675273 L 185.91589,61.675273 L 186.76526,63.940233 L 187.61907,61.675273 L 188.29009,61.675273 L 188.29009,65.003603 L 187.85092,65.003603 L 187.85092,62.081003 L 186.99264,64.363793 L 186.54009,64.363793 L 185.68182,62.081003 L 185.68182,65.003603 L 185.24488,65.003603 L 185.24488,61.675273"
107 id="path2391"
108 style="fill:#294172;enable-background:new" />
109</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/warning.png b/SystemTap_Beginners_Guide/Common_Content/images/warning.png
deleted file mode 100644
index ce099518..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/warning.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/warning.svg b/SystemTap_Beginners_Guide/Common_Content/images/warning.svg
deleted file mode 100644
index 5f2612c4..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/warning.svg
+++ /dev/null
@@ -1,89 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:dc="http://purl.org/dc/elements/1.1/"
5 xmlns:cc="http://creativecommons.org/ns#"
6 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7 xmlns:svg="http://www.w3.org/2000/svg"
8 xmlns="http://www.w3.org/2000/svg"
9 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11 version="1.0"
12 width="48"
13 height="48"
14 id="svg5921"
15 sodipodi:version="0.32"
16 inkscape:version="0.46"
17 sodipodi:docname="warning.svg"
18 inkscape:output_extension="org.inkscape.output.svg.inkscape"
19 inkscape:export-filename="/home/jfearn/Build/src/fedora/publican/trunk/publican-fedora/en-US/images/warning.png"
20 inkscape:export-xdpi="111.32"
21 inkscape:export-ydpi="111.32">
22 <metadata
23 id="metadata2482">
24 <rdf:RDF>
25 <cc:Work
26 rdf:about="">
27 <dc:format>image/svg+xml</dc:format>
28 <dc:type
29 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
30 </cc:Work>
31 </rdf:RDF>
32 </metadata>
33 <sodipodi:namedview
34 inkscape:window-height="910"
35 inkscape:window-width="1284"
36 inkscape:pageshadow="2"
37 inkscape:pageopacity="0.0"
38 guidetolerance="10.0"
39 gridtolerance="10.0"
40 objecttolerance="10.0"
41 borderopacity="1.0"
42 bordercolor="#666666"
43 pagecolor="#ffffff"
44 id="base"
45 showgrid="false"
46 inkscape:zoom="11.5"
47 inkscape:cx="20"
48 inkscape:cy="20"
49 inkscape:window-x="0"
50 inkscape:window-y="51"
51 inkscape:current-layer="svg5921" />
52 <defs
53 id="defs5923">
54 <inkscape:perspective
55 sodipodi:type="inkscape:persp3d"
56 inkscape:vp_x="0 : 20 : 1"
57 inkscape:vp_y="0 : 1000 : 0"
58 inkscape:vp_z="40 : 20 : 1"
59 inkscape:persp3d-origin="20 : 13.333333 : 1"
60 id="perspective2484" />
61 </defs>
62 <g
63 transform="matrix(0.4536635,0,0,0.4536635,-5.1836431,-4.6889387)"
64 id="layer1">
65 <g
66 transform="translate(2745.6887,-1555.5977)"
67 id="g8304"
68 style="enable-background:new">
69 <path
70 d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L -1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L -1602.5477,1091.5306 L -1603,1054.4387 z"
71 transform="matrix(0.8233528,8.9983906e-3,-8.9983906e-3,0.8233528,-1398.5561,740.7914)"
72 id="path8034"
73 style="opacity:1;fill:#efd259;fill-opacity:1;stroke:#efd259;stroke-opacity:1" />
74 <path
75 d="M -1603,1054.4387 L -1577.0919,1027.891 L -1540,1027.4387 L -1513.4523,1053.3468 L -1513,1090.4387 L -1538.9081,1116.9864 L -1576,1117.4387 L -1602.5477,1091.5306 L -1603,1054.4387 z"
76 transform="matrix(0.6467652,7.0684723e-3,-7.0684723e-3,0.6467652,-1675.7492,927.16391)"
77 id="path8036"
78 style="opacity:1;fill:#a42324;fill-opacity:1;stroke:#a42324;stroke-opacity:1" />
79 <path
80 d="M -2686.7886,1597.753 C -2686.627,1596.5292 -2686.5462,1595.6987 -2686.5462,1595.218 C -2686.5462,1593.1637 -2688.0814,1592.0711 -2690.9899,1592.0711 C -2693.8985,1592.0711 -2695.4336,1593.12 -2695.4336,1595.218 C -2695.4336,1595.961 -2695.3528,1596.7914 -2695.1912,1597.753 L -2692.929,1614.4491 L -2689.0508,1614.4491 L -2686.7886,1597.753"
81 id="path8038"
82 style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" />
83 <path
84 d="M -2690.9899,1617.8197 C -2693.6124,1617.8197 -2695.8118,1619.9346 -2695.8118,1622.6416 C -2695.8118,1625.3486 -2693.6124,1627.4635 -2690.9899,1627.4635 C -2688.2829,1627.4635 -2686.168,1625.264 -2686.168,1622.6416 C -2686.168,1619.9346 -2688.2829,1617.8197 -2690.9899,1617.8197"
85 id="path8040"
86 style="font-size:107.13574219px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter" />
87 </g>
88 </g>
89</svg>
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/watermark-draft.png b/SystemTap_Beginners_Guide/Common_Content/images/watermark-draft.png
deleted file mode 100644
index 0ead5af8..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/watermark-draft.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/Common_Content/images/yellow.png b/SystemTap_Beginners_Guide/Common_Content/images/yellow.png
deleted file mode 100644
index 223865d7..00000000
--- a/SystemTap_Beginners_Guide/Common_Content/images/yellow.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/SystemTap_Beginners_Guide-Preface.html b/SystemTap_Beginners_Guide/SystemTap_Beginners_Guide-Preface.html
deleted file mode 100644
index 9ea6eb46..00000000
--- a/SystemTap_Beginners_Guide/SystemTap_Beginners_Guide-Preface.html
+++ /dev/null
@@ -1,90 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Preface</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="index.html" title="SystemTap Beginners Guide" /><link rel="next" href="pr01s02.html" title="2. We Need Feedback!" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="pr01s02.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="preface" id="SystemTap_Beginners_Guide-Preface" lang="en-US"><div class="titlepage"><div><div><h1 class="title">Preface</h1></div></div></div><div class="para">
4
5 </div><div xml:lang="en-US" class="section" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="id773730">1. Document Conventions</h2></div></div></div><div class="para">
6 This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information.
7 </div><div class="para">
8 In PDF and paper editions, this manual uses typefaces drawn from the <a href="https://fedorahosted.org/liberation-fonts/">Liberation Fonts</a> set. The Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default.
9 </div><div class="section"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="id498503">1.1. Typographic Conventions</h3></div></div></div><div class="para">
10 Four typographic conventions are used to call attention to specific words and phrases. These conventions, and the circumstances they apply to, are as follows.
11 </div><div class="para">
12 <code class="literal">Mono-spaced Bold</code>
13 </div><div class="para">
14 Used to highlight system input, including shell commands, file names and paths. Also used to highlight keycaps and key combinations. For example:
15 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
16 To see the contents of the file <code class="filename">my_next_bestselling_novel</code> in your current working directory, enter the <code class="command">cat my_next_bestselling_novel</code> command at the shell prompt and press <span class="keycap"><strong>Enter</strong></span> to execute the command.
17 </div></blockquote></div><div class="para">
18 The above includes a file name, a shell command and a keycap, all presented in mono-spaced bold and all distinguishable thanks to context.
19 </div><div class="para">
20 Key combinations can be distinguished from keycaps by the hyphen connecting each part of a key combination. For example:
21 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
22 Press <span class="keycap"><strong>Enter</strong></span> to execute the command.
23 </div><div class="para">
24 Press <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F2</strong></span> to switch to the first virtual terminal. Press <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F1</strong></span> to return to your X-Windows session.
25 </div></blockquote></div><div class="para">
26 The first paragraph highlights the particular keycap to press. The second highlights two key combinations (each a set of three keycaps with each set pressed simultaneously).
27 </div><div class="para">
28 If source code is discussed, class names, methods, functions, variable names and returned values mentioned within a paragraph will be presented as above, in <code class="literal">mono-spaced bold</code>. For example:
29 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
30 File-related classes include <code class="classname">filesystem</code> for file systems, <code class="classname">file</code> for files, and <code class="classname">dir</code> for directories. Each class has its own associated set of permissions.
31 </div></blockquote></div><div class="para">
32 <span class="application"><strong>Proportional Bold</strong></span>
33 </div><div class="para">
34 This denotes words or phrases encountered on a system, including application names; dialog box text; labeled buttons; check-box and radio button labels; menu titles and sub-menu titles. For example:
35 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
36 Choose <span class="guimenu"><strong>System</strong></span> → <span class="guisubmenu"><strong>Preferences</strong></span> → <span class="guimenuitem"><strong>Mouse</strong></span> from the main menu bar to launch <span class="application"><strong>Mouse Preferences</strong></span>. In the <span class="guilabel"><strong>Buttons</strong></span> tab, click the <span class="guilabel"><strong>Left-handed mouse</strong></span> check box and click <span class="guibutton"><strong>Close</strong></span> to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).
37 </div><div class="para">
38 To insert a special character into a <span class="application"><strong>gedit</strong></span> file, choose <span class="guimenu"><strong>Applications</strong></span> → <span class="guisubmenu"><strong>Accessories</strong></span> → <span class="guimenuitem"><strong>Character Map</strong></span> from the main menu bar. Next, choose <span class="guimenu"><strong>Search</strong></span> → <span class="guimenuitem"><strong>Find…</strong></span> from the <span class="application"><strong>Character Map</strong></span> menu bar, type the name of the character in the <span class="guilabel"><strong>Search</strong></span> field and click <span class="guibutton"><strong>Next</strong></span>. The character you sought will be highlighted in the <span class="guilabel"><strong>Character Table</strong></span>. Double-click this highlighted character to place it in the <span class="guilabel"><strong>Text to copy</strong></span> field and then click the <span class="guibutton"><strong>Copy</strong></span> button. Now switch back to your document and choose <span class="guimenu"><strong>Edit</strong></span> → <span class="guimenuitem"><strong>Paste</strong></span> from the <span class="application"><strong>gedit</strong></span> menu bar.
39 </div></blockquote></div><div class="para">
40 The above text includes application names; system-wide menu names and items; application-specific menu names; and buttons and text found within a GUI interface, all presented in proportional bold and all distinguishable by context.
41 </div><div class="para">
42 <code class="command"><em class="replaceable"><code>Mono-spaced Bold Italic</code></em></code> or <span class="application"><strong><em class="replaceable"><code>Proportional Bold Italic</code></em></strong></span>
43 </div><div class="para">
44 Whether mono-spaced bold or proportional bold, the addition of italics indicates replaceable or variable text. Italics denotes text you do not input literally or displayed text that changes depending on circumstance. For example:
45 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
46 To connect to a remote machine using ssh, type <code class="command">ssh <em class="replaceable"><code>username</code></em>@<em class="replaceable"><code>domain.name</code></em></code> at a shell prompt. If the remote machine is <code class="filename">example.com</code> and your username on that machine is john, type <code class="command">ssh john@example.com</code>.
47 </div><div class="para">
48 The <code class="command">mount -o remount <em class="replaceable"><code>file-system</code></em></code> command remounts the named file system. For example, to remount the <code class="filename">/home</code> file system, the command is <code class="command">mount -o remount /home</code>.
49 </div><div class="para">
50 To see the version of a currently installed package, use the <code class="command">rpm -q <em class="replaceable"><code>package</code></em></code> command. It will return a result as follows: <code class="command"><em class="replaceable"><code>package-version-release</code></em></code>.
51 </div></blockquote></div><div class="para">
52 Note the words in bold italics above — username, domain.name, file-system, package, version and release. Each word is a placeholder, either for text you enter when issuing a command or for text displayed by the system.
53 </div><div class="para">
54 Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:
55 </div><div class="blockquote"><blockquote class="blockquote"><div class="para">
56 Publican is a <em class="firstterm">DocBook</em> publishing system.
57 </div></blockquote></div></div><div class="section"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="id526365">1.2. Pull-quote Conventions</h3></div></div></div><div class="para">
58 Terminal output and source code listings are set off visually from the surrounding text.
59 </div><div class="para">
60 Output sent to a terminal is set in <code class="computeroutput">mono-spaced roman</code> and presented thus:
61 </div><pre class="screen">books Desktop documentation drafts mss photos stuff svn
62books_tests Desktop1 downloads images notes scripts svgs</pre><div class="para">
63 Source-code listings are also set in <code class="computeroutput">mono-spaced roman</code> but add syntax highlighting as follows:
64 </div><pre class="programlisting">package org.<span class="perl_Function">jboss</span>.<span class="perl_Function">book</span>.<span class="perl_Function">jca</span>.<span class="perl_Function">ex1</span>;
65
66<span class="perl_Keyword">import</span> javax.naming.InitialContext;
67
68<span class="perl_Keyword">public</span> <span class="perl_Keyword">class</span> ExClient
69{
70 <span class="perl_Keyword">public</span> <span class="perl_DataType">static</span> <span class="perl_DataType">void</span> <span class="perl_Function">main</span>(String args[])
71 <span class="perl_Keyword">throws</span> Exception
72 {
73 InitialContext iniCtx = <span class="perl_Keyword">new</span> InitialContext();
74 Object ref = iniCtx.<span class="perl_Function">lookup</span>(<span class="perl_String">"EchoBean"</span>);
75 EchoHome home = (EchoHome) ref;
76 Echo echo = home.<span class="perl_Function">create</span>();
77
78 System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(<span class="perl_String">"Created Echo"</span>);
79
80 System.<span class="perl_Function">out</span>.<span class="perl_Function">println</span>(<span class="perl_String">"Echo.echo('Hello') = "</span> + echo.<span class="perl_Function">echo</span>(<span class="perl_String">"Hello"</span>));
81 }
82}</pre></div><div class="section"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="id782254">1.3. Notes and Warnings</h3></div></div></div><div class="para">
83 Finally, we use three visual styles to draw attention to information that might otherwise be overlooked.
84 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
85 Notes are tips, shortcuts or alternative approaches to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier.
86 </div></div></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
87 Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring a box labeled 'Important' will not cause data loss but may cause irritation and frustration.
88 </div></div></div><div class="warning"><div class="admonition_header"><h2>Warning</h2></div><div class="admonition"><div class="para">
89 Warnings should not be ignored. Ignoring warnings will most likely cause data loss.
90 </div></div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="index.html"><strong>Prev</strong>SystemTap Beginners Guide</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="pr01s02.html"><strong>Next</strong>2. We Need Feedback!</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/appe-Publican-Revision_History.html b/SystemTap_Beginners_Guide/appe-Publican-Revision_History.html
deleted file mode 100644
index d8c27de5..00000000
--- a/SystemTap_Beginners_Guide/appe-Publican-Revision_History.html
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix A. Revision History</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="references.html" title="Chapter 7. References" /><link rel="next" href="ix01.html" title="Index" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="references.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ix01.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="appendix" id="appe-Publican-Revision_History" lang="en-US"><div class="titlepage"><div><div><h1 class="title">Revision History</h1></div></div></div><div class="para">
4 <div class="revhistory"><table border="0" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><strong>Revision History</strong></th></tr><tr><td align="left">Revision 2.0</td><td align="left">Mon Jul 20 2009</td><td align="left"><span class="author"><span class="firstname">Don</span> <span class="surname">Domingo</span></span></td></tr><tr><td align="left" colspan="3">
5 <table border="0" summary="Simple list" class="simplelist"><tr><td>includes 5.4 minor updates and additional script "dropwatch.stp"</td></tr></table>
6
7 </td></tr><tr><td align="left">Revision 1.0</td><td align="left">Wed Jun 17 2009</td><td align="left"><span class="author"><span class="firstname">Don</span> <span class="surname">Domingo</span></span></td></tr><tr><td align="left" colspan="3">
8 <table border="0" summary="Simple list" class="simplelist"><tr><td>Building+pushing to RHEL</td></tr></table>
9
10 </td></tr></table></div>
11
12 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="references.html"><strong>Prev</strong>Chapter 7. References</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ix01.html"><strong>Next</strong>Index</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayoperators.html b/SystemTap_Beginners_Guide/arrayoperators.html
deleted file mode 100644
index 7a556fe6..00000000
--- a/SystemTap_Beginners_Guide/arrayoperators.html
+++ /dev/null
@@ -1,13 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5. Array Operations in SystemTap</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="prev" href="associativearrays.html" title="3.4. Associative Arrays" /><link rel="next" href="arrayops-readvalues.html" title="3.5.2. Reading Values From Arrays" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="associativearrays.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-readvalues.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="arrayoperators" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="arrayoperators">3.5. Array Operations in SystemTap</h2></div></div></div><a id="id695128" class="indexterm"></a><a id="id755818" class="indexterm"></a><div class="para">
4 This section enumerates some of the most commonly used array operations in SystemTap.
5 </div><div class="section" id="arrayops-assignvalue"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-assignvalue">3.5.1. Assigning an Associated Value</h3></div></div></div><a id="id641818" class="indexterm"></a><a id="id631041" class="indexterm"></a><a id="id802813" class="indexterm"></a><div class="para">
6 Use <code class="command">=</code> to set an associated value to indexed unique pairs, as in:
7 </div><pre class="screen"><em class="replaceable"><code>array_name</code></em>[<em class="replaceable"><code>index_expression</code></em>] = <em class="replaceable"><code>value</code></em></pre><div class="para">
8 <a class="xref" href="associativearrays.html#arraysimplestexample">Example 3.13, “Basic Array Statements”</a> shows a very basic example of how to set an explicit associated value to a unique key. You can also use a handler function as both your <code class="command"><em class="replaceable"><code>index_expression</code></em></code> and <code class="command"><em class="replaceable"><code>value</code></em></code>. For example, you can use arrays to set a timestamp as the associated value to a process name (which you wish to use as your unique key), as in:
9 </div><a id="id637769" class="indexterm"></a><a id="id644016" class="indexterm"></a><a id="id1095066" class="indexterm"></a><a id="id742803" class="indexterm"></a><a id="id552340" class="indexterm"></a><a id="id625695" class="indexterm"></a><div class="example" id="arrays-timestampprocessname"><h6>Example 3.14. Associating Timestamps to Process Names</h6><div class="example-contents"><pre class="programlisting">foo[tid()] = gettimeofday_s()</pre></div></div><br class="example-break" /><div class="para">
10 Whenever an event invokes the statement in <a class="xref" href="arrayoperators.html#arrays-timestampprocessname">Example 3.14, “Associating Timestamps to Process Names”</a>, SystemTap returns the appropriate <code class="command">tid()</code> value (i.e. the ID of a thread, which is then used as the unique key). At the same time, SystemTap also uses the function <code class="command">gettimeofday_s()</code> to set the corresponding timestamp as the associated value to the unique key defined by the function <code class="command">tid()</code>. This creates an array composed of key pairs containing thread IDs and timestamps.
11 </div><div class="para">
12 In this same example, if <code class="command">tid()</code> returns a value that is already defined in the array <code class="command">foo</code>, the operator will discard the original associated value to it, and replace it with the current timestamp from <code class="command">gettimeofday_s()</code>.
13 </div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="associativearrays.html"><strong>Prev</strong>3.4. Associative Arrays</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-readvalues.html"><strong>Next</strong>3.5.2. Reading Values From Arrays</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-aggregates.html b/SystemTap_Beginners_Guide/arrayops-aggregates.html
deleted file mode 100644
index 5b6c6d71..00000000
--- a/SystemTap_Beginners_Guide/arrayops-aggregates.html
+++ /dev/null
@@ -1,42 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.7. Computing for Statistical Aggregates</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayops-conditionals.html" title="3.5.6. Using Arrays in Conditional Statements" /><link rel="next" href="understanding-tapsets.html" title="3.6. Tapsets" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-conditionals.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="understanding-tapsets.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-aggregates"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-aggregates">3.5.7. Computing for Statistical Aggregates</h3></div></div></div><a id="id691706" class="indexterm"></a><a id="id806923" class="indexterm"></a><a id="id1091840" class="indexterm"></a><a id="id1091852" class="indexterm"></a><a id="id1180397" class="indexterm"></a><div class="para">
4 Statistical aggregates are used to collect statistics on numerical values where it is important to accumulate new data quickly and in large volume (i.e. storing only aggregated stream statistics). Statistical aggregates can be used in global variables or as elements in an array.
5 </div><a id="id530961" class="indexterm"></a><a id="id529213" class="indexterm"></a><a id="id761728" class="indexterm"></a><a id="id674915" class="indexterm"></a><div class="para">
6 To add value to a statistical aggregate, use the operator <code class="command">&lt;&lt;&lt; <em class="replaceable"><code>value</code></em></code>.
7 </div><div class="example" id="simpleaggregates"><h6>Example 3.21. stat-aggregates.stp</h6><div class="example-contents"><pre class="programlisting">global reads
8probe vfs.read
9{
10 reads[execname()] &lt;&lt;&lt; count
11}</pre></div></div><br class="example-break" /><a id="id1161581" class="indexterm"></a><a id="id649991" class="indexterm"></a><a id="id770274" class="indexterm"></a><a id="id645272" class="indexterm"></a><div class="para">
12 In <a class="xref" href="arrayops-aggregates.html#simpleaggregates">Example 3.21, “stat-aggregates.stp”</a>, the operator <code class="command">&lt;&lt;&lt; count</code> <span class="emphasis"><em>stores</em></span> the amount returned by <code class="literal">count</code> to to the associated value of the corresponding <code class="command">execname()</code> in the <code class="literal">reads</code> array. Remember, these values are <span class="emphasis"><em>stored</em></span>; they are not added to the associated values of each unique key, nor are they used to replace the current associated values. In a manner of speaking, think of it as having each unique key (<code class="command">execname()</code>) having multiple associated values, accumulating with each probe handler run.
13 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
14 In the context of <a class="xref" href="arrayops-aggregates.html#simpleaggregates">Example 3.21, “stat-aggregates.stp”</a>, <code class="literal">count</code> returns the amount of data read by the returned <code class="command">execname()</code> to the virtual file system.
15 </div></div></div><a id="id809466" class="indexterm"></a><a id="id589719" class="indexterm"></a><a id="id615122" class="indexterm"></a><a id="id473546" class="indexterm"></a><a id="id637083" class="indexterm"></a><div class="para">
16 To extract data collected by statistical aggregates, use the syntax format <code class="command">@<em class="replaceable"><code>extractor</code></em>(<em class="replaceable"><code>variable/array index expression</code></em>)</code>. <code class="command"><em class="replaceable"><code>extractor</code></em></code> can be any of the following integer extractors:
17 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">count</span></dt><dd><a id="id612117" class="indexterm"></a><a id="id811871" class="indexterm"></a><a id="id644375" class="indexterm"></a><a id="id623898" class="indexterm"></a><div class="para">
18 Returns the number of all values stored into the variable/array index expression. Given the sample probe in <a class="xref" href="arrayops-aggregates.html#simpleaggregates">Example 3.21, “stat-aggregates.stp”</a>, the expression <code class="command">@count(reads[execname()])</code> will return <span class="emphasis"><em>how many values are stored</em></span> in each unique key in array <code class="literal">reads</code>.
19 </div></dd><dt class="varlistentry"><span class="term">sum</span></dt><dd><a id="id495444" class="indexterm"></a><a id="id795186" class="indexterm"></a><a id="id593815" class="indexterm"></a><a id="id535280" class="indexterm"></a><div class="para">
20 Returns the sum of all values stored into the variable/array index expression. Again, given sample probe in <a class="xref" href="arrayops-aggregates.html#simpleaggregates">Example 3.21, “stat-aggregates.stp”</a>, the expression <code class="command">@sum(reads[execname()])</code> will return <span class="emphasis"><em>the total of all values stored</em></span> in each unique key in array <code class="literal">reads</code>.
21 </div></dd><dt class="varlistentry"><span class="term">min</span></dt><dd><a id="id781808" class="indexterm"></a><a id="id781824" class="indexterm"></a><a id="id614668" class="indexterm"></a><a id="id644357" class="indexterm"></a><div class="para">
22 Returns the smallest among all the values stored in the variable/array index expression.
23 </div></dd><dt class="varlistentry"><span class="term">max</span></dt><dd><a id="id755360" class="indexterm"></a><a id="id761321" class="indexterm"></a><a id="id761336" class="indexterm"></a><a id="id580366" class="indexterm"></a><div class="para">
24 Returns the largest among all the values stored in the variable/array index expression.
25 </div></dd><dt class="varlistentry"><span class="term">avg</span></dt><dd><a id="id497164" class="indexterm"></a><a id="id476846" class="indexterm"></a><a id="id580283" class="indexterm"></a><a id="id580298" class="indexterm"></a><div class="para">
26 Returns the average of all values stored in the variable/array index expression.
27 </div></dd></dl></div><div class="para">
28 When using statistical aggregates, you can also build array constructs that use multiple index expressions (to a maximum of 5). This is helpful in capturing additional contextual information during a probe. For example:
29 </div><div class="example" id="multiplearrayindices"><h6>Example 3.22. Multiple Array Indexes</h6><div class="example-contents"><pre class="programlisting">global reads
30probe vfs.read
31{
32 reads[execname(),pid()] &lt;&lt;&lt; 1
33}
34probe timer.s(3)
35{
36 foreach([var1,var2] in reads)
37 printf("%s (%d) : %d \n", var1, var2, @count(reads[var1,var2]))
38}</pre></div></div><br class="example-break" /><div class="para">
39 In <a class="xref" href="arrayops-aggregates.html#multiplearrayindices">Example 3.22, “Multiple Array Indexes”</a>, the first probe tracks how many times each process performs a VFS read. What makes this different from earlier examples is that this array associates a performed read to both a process name <span class="emphasis"><em>and</em></span> its corresponding process ID.
40 </div><div class="para">
41 The second probe in <a class="xref" href="arrayops-aggregates.html#multiplearrayindices">Example 3.22, “Multiple Array Indexes”</a> demonstrates how to process and print the information collected by the array <code class="literal">reads</code>. Note how the <code class="command">foreach</code> statement uses the same number of variables (i.e. <code class="literal">var1</code> and <code class="literal">var2</code>) contained in the first instance of the array <code class="literal">reads</code> from the first probe.
42 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-conditionals.html"><strong>Prev</strong>3.5.6. Using Arrays in Conditional Statements</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="understanding-tapsets.html"><strong>Next</strong>3.6. Tapsets</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-conditionals.html b/SystemTap_Beginners_Guide/arrayops-conditionals.html
deleted file mode 100644
index 521612ad..00000000
--- a/SystemTap_Beginners_Guide/arrayops-conditionals.html
+++ /dev/null
@@ -1,43 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.6. Using Arrays in Conditional Statements</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayops-deleting.html" title="3.5.5. Clearing/Deleting Arrays and Array Elements" /><link rel="next" href="arrayops-aggregates.html" title="3.5.7. Computing for Statistical Aggregates" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-deleting.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-aggregates.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-conditionals"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-conditionals">3.5.6. Using Arrays in Conditional Statements</h3></div></div></div><a id="id690336" class="indexterm"></a><a id="id748196" class="indexterm"></a><a id="id748207" class="indexterm"></a><a id="id563822" class="indexterm"></a><div class="para">
4 You can also use associative arrays in <code class="command">if</code> statements. This is useful if you want to execute a subroutine once a value in the array matches a certain condition. Consider the following example:
5 </div><div class="example" id="simplevfsreadprintif"><h6>Example 3.19. vfsreads-print-if-1kb.stp</h6><div class="example-contents"><pre class="programlisting">global reads
6probe vfs.read
7{
8 reads[execname()] ++
9}
10
11probe timer.s(3)
12{
13 printf("=======\n")
14 foreach (count in reads-)
15 if (reads[count] &gt;= 1024)
16 printf("%s : %dkB \n", count, reads[count]/1024)
17 else
18 printf("%s : %dB \n", count, reads[count])
19}</pre></div></div><br class="example-break" /><div class="para">
20 Every three seconds, <a class="xref" href="arrayops-conditionals.html#simplevfsreadprintif">Example 3.19, “vfsreads-print-if-1kb.stp”</a> prints out a list of all processes, along with how many times each process performed a VFS read. If the associated value of a process name is equal or greater than 1024, the <code class="command">if</code> statement in the script converts and prints it out in <code class="command">kB</code>.
21 </div><div class="formalpara"><h5 class="formalpara" id="id750280">Testing for Membership</h5><a id="id750289" class="indexterm"></a><a id="id710368" class="indexterm"></a><a id="id784313" class="indexterm"></a><a id="id590431" class="indexterm"></a><a id="id589649" class="indexterm"></a>
22 You can also test whether a specific unique key is a member of an array. Further, membership in an array can be used in <code class="command">if</code> statements, as in:
23 </div><pre class="screen">if([<em class="replaceable"><code>index_expression</code></em>] in <em class="replaceable"><code>array_name</code></em>) <em class="replaceable"><code>statement</code></em></pre><div class="para">
24 To illustrate this, consider the following example:
25 </div><div class="example" id="simplesimplevfsreadprintifmember"><h6>Example 3.20. vfsreads-stop-on-stapio2.stp</h6><div class="example-contents"><pre class="programlisting">global reads
26
27probe vfs.read
28{
29 reads[execname()] ++
30}
31
32probe timer.s(3)
33{
34 printf("=======\n")
35 foreach (count in reads+)
36 printf("%s : %d \n", count, reads[count])
37 if(["stapio"] in reads) {
38 printf("stapio read detected, exiting\n")
39 exit()
40 }
41}</pre></div></div><br class="example-break" /><div class="para">
42 The <code class="command">if(["stapio"] in reads)</code> statement instructs the script to print <code class="computeroutput">stapio read detected, exiting</code> once the unique key <code class="command">stapio</code> is added to the array <code class="command">reads</code>.
43 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-deleting.html"><strong>Prev</strong>3.5.5. Clearing/Deleting Arrays and Array Elements</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-aggregates.html"><strong>Next</strong>3.5.7. Computing for Statistical Aggregates</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-deleting.html b/SystemTap_Beginners_Guide/arrayops-deleting.html
deleted file mode 100644
index acfbba3e..00000000
--- a/SystemTap_Beginners_Guide/arrayops-deleting.html
+++ /dev/null
@@ -1,44 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.5. Clearing/Deleting Arrays and Array Elements</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayops-foreach.html" title="3.5.4. Processing Multiple Elements in an Array" /><link rel="next" href="arrayops-conditionals.html" title="3.5.6. Using Arrays in Conditional Statements" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-foreach.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-conditionals.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-deleting"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-deleting">3.5.5. Clearing/Deleting Arrays and Array Elements</h3></div></div></div><a id="id698766" class="indexterm"></a><a id="id687721" class="indexterm"></a><a id="id521960" class="indexterm"></a><a id="id593279" class="indexterm"></a><a id="id593291" class="indexterm"></a><div class="para">
4 Sometimes, you may need to clear the associated values in array elements, or reset an entire array for re-use in another probe. <a class="xref" href="arrayops-foreach.html#simplevfsreadprint">Example 3.17, “cumulative-vfsreads.stp”</a> in <a class="xref" href="arrayops-foreach.html">Section 3.5.4, “Processing Multiple Elements in an Array”</a> allows you to track how the number of VFS reads per process grows over time, but it does not show you the number of VFS reads each process makes per 3-second period.
5 </div><a id="id658762" class="indexterm"></a><a id="id1144866" class="indexterm"></a><a id="id590489" class="indexterm"></a><a id="id655572" class="indexterm"></a><div class="para">
6 To do that, you will need to clear the values accumulated by the array. You can accomplish this using the <code class="command">delete</code> operator to delete elements in an array, or an entire array. Consider the following example:
7 </div><a id="id577578" class="indexterm"></a><a id="id626172" class="indexterm"></a><a id="id626187" class="indexterm"></a><a id="id658748" class="indexterm"></a><div class="example" id="simplevfsreadprintnotcumulative"><h6>Example 3.18. noncumulative-vfsreads.stp</h6><div class="example-contents"><pre class="programlisting">global reads
8probe vfs.read
9{
10 reads[execname()] ++
11}
12probe timer.s(3)
13{
14 foreach (count in reads)
15 printf("%s : %d \n", count, reads[count])
16 delete reads
17}</pre></div></div><br class="example-break" /><div class="para">
18 In <a class="xref" href="arrayops-deleting.html#simplevfsreadprintnotcumulative">Example 3.18, “noncumulative-vfsreads.stp”</a>, the second probe prints the number of VFS reads each process made <span class="emphasis"><em>within the probed 3-second period only</em></span>. The <code class="command">delete reads</code> statement clears the <code class="command">reads</code> array within the probe.
19 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><a id="id494035" class="indexterm"></a><a id="id595212" class="indexterm"></a><a id="id691684" class="indexterm"></a><a id="id624899" class="indexterm"></a><div class="para">
20 You can have multiple array operations within the same probe. Using the examples from <a class="xref" href="arrayops-foreach.html">Section 3.5.4, “Processing Multiple Elements in an Array”</a> and <a class="xref" href="arrayops-deleting.html">Section 3.5.5, “Clearing/Deleting Arrays and Array Elements”</a> , you can track the number of VFS reads each process makes per 3-second period <span class="emphasis"><em>and</em></span> tally the cumulative VFS reads of those same processes. Consider the following example:
21 </div><pre class="screen">global reads, totalreads
22
23probe vfs.read
24{
25 reads[execname()] ++
26 totalreads[execname()] ++
27}
28
29probe timer.s(3)
30{
31 printf("=======\n")
32 foreach (count in reads-)
33 printf("%s : %d \n", count, reads[count])
34 delete reads
35}
36
37probe end
38{
39 printf("TOTALS\n")
40 foreach (total in totalreads-)
41 printf("%s : %d \n", total, totalreads[total])
42}</pre><div class="para">
43 In this example, the arrays <code class="command">reads</code> and <code class="command">totalreads</code> track the same information, and are printed out in a similar fashion. The only difference here is that <code class="command">reads</code> is cleared every 3-second period, whereas <code class="command">totalreads</code> keeps growing.
44 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-foreach.html"><strong>Prev</strong>3.5.4. Processing Multiple Elements in an Array</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-conditionals.html"><strong>Next</strong>3.5.6. Using Arrays in Conditional Statements</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-foreach.html b/SystemTap_Beginners_Guide/arrayops-foreach.html
deleted file mode 100644
index 1464e7a7..00000000
--- a/SystemTap_Beginners_Guide/arrayops-foreach.html
+++ /dev/null
@@ -1,30 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.4. Processing Multiple Elements in an Array</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayops-increment.html" title="3.5.3. Incrementing Associated Values" /><link rel="next" href="arrayops-deleting.html" title="3.5.5. Clearing/Deleting Arrays and Array Elements" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-increment.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-deleting.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-foreach"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-foreach">3.5.4. Processing Multiple Elements in an Array</h3></div></div></div><a id="id793879" class="indexterm"></a><a id="id809560" class="indexterm"></a><a id="id809571" class="indexterm"></a><a id="id489012" class="indexterm"></a><a id="id544769" class="indexterm"></a><a id="id553081" class="indexterm"></a><div class="para">
4 Once you've collected enough information in an array, you will need to retrieve and process all elements in that array to make it useful. Consider <a class="xref" href="arrayops-increment.html#simplesimplevfsread">Example 3.16, “vfsreads.stp”</a>: the script collects information about how many VFS reads each process performs, but does not specify what to do with it. The obvious means for making <a class="xref" href="arrayops-increment.html#simplesimplevfsread">Example 3.16, “vfsreads.stp”</a> useful is to print the key pairs in the array <code class="command">reads</code>, but how?
5 </div><a id="id1144906" class="indexterm"></a><a id="id1147922" class="indexterm"></a><a id="id583683" class="indexterm"></a><a id="id769910" class="indexterm"></a><a id="id688288" class="indexterm"></a><a id="id804777" class="indexterm"></a><a id="id680462" class="indexterm"></a><div class="para">
6 The best way to process all key pairs in an array (as an iteration) is to use the <code class="command">foreach</code> statement. Consider the following example:
7 </div><a id="id496731" class="indexterm"></a><a id="id695653" class="indexterm"></a><a id="id686469" class="indexterm"></a><a id="id614537" class="indexterm"></a><a id="id1163042" class="indexterm"></a><div class="example" id="simplevfsreadprint"><h6>Example 3.17. cumulative-vfsreads.stp</h6><div class="example-contents"><pre class="programlisting">global reads
8probe vfs.read
9{
10 reads[execname()] ++
11}
12probe timer.s(3)
13{
14 foreach (count in reads)
15 printf("%s : %d \n", count, reads[count])
16}</pre></div></div><br class="example-break" /><div class="para">
17 In the second probe of <a class="xref" href="arrayops-foreach.html#simplevfsreadprint">Example 3.17, “cumulative-vfsreads.stp”</a>, the <code class="command">foreach</code> statement uses the variable <code class="command">count</code> to reference each iteration of a unique key in the array <code class="command">reads</code>. The <code class="command">reads[count]</code> array statement in the same probe retrieves the associated value of each unique key.
18 </div><div class="para">
19 Given what we know about the first probe in <a class="xref" href="arrayops-foreach.html#simplevfsreadprint">Example 3.17, “cumulative-vfsreads.stp”</a>, the script prints VFS-read statistics every 3 seconds, displaying names of processes that performed a VFS-read along with a corresponding VFS-read count.
20 </div><a id="id552318" class="indexterm"></a><a id="id623848" class="indexterm"></a><a id="id517842" class="indexterm"></a><a id="id543685" class="indexterm"></a><a id="id1152011" class="indexterm"></a><a id="id1063215" class="indexterm"></a><a id="id676452" class="indexterm"></a><a id="id519377" class="indexterm"></a><div class="para">
21 Now, remember that the <code class="command">foreach</code> statement in <a class="xref" href="arrayops-foreach.html#simplevfsreadprint">Example 3.17, “cumulative-vfsreads.stp”</a> prints <span class="emphasis"><em>all</em></span> iterations of process names in the array, and in no particular order. You can instruct the script to process the iterations in a particular order by using <code class="command">+</code> (ascending) or <code class="command">-</code> (descending). In addition, you can also limit the number of iterations the script needs to process with the <code class="command">limit <em class="replaceable"><code>value</code></em></code> option.
22 </div><div class="para">
23 For example, consider the following replacement probe:
24 </div><pre class="screen">probe timer.s(3)
25{
26 foreach (count in reads- limit 10)
27 printf("%s : %d \n", count, reads[count])
28}</pre><div class="para">
29 This <code class="command">foreach</code> statement instructs the script to process the elements in the array <code class="command">reads</code> in descending order (of associated value). The <code class="command">limit 10</code> option instructs the <code class="command">foreach</code> to only process the first ten iterations (i.e. print the first 10, starting with the highest value).
30 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-increment.html"><strong>Prev</strong>3.5.3. Incrementing Associated Values</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-deleting.html"><strong>Next</strong>3.5.5. Clearing/Deleting Arrays and Array Elements</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-increment.html b/SystemTap_Beginners_Guide/arrayops-increment.html
deleted file mode 100644
index ecfdfc2b..00000000
--- a/SystemTap_Beginners_Guide/arrayops-increment.html
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.3. Incrementing Associated Values</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayops-readvalues.html" title="3.5.2. Reading Values From Arrays" /><link rel="next" href="arrayops-foreach.html" title="3.5.4. Processing Multiple Elements in an Array" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-readvalues.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-foreach.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-increment"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-increment">3.5.3. Incrementing Associated Values</h3></div></div></div><a id="id632268" class="indexterm"></a><a id="id1145184" class="indexterm"></a><a id="id1145195" class="indexterm"></a><div class="para">
4 Use <code class="command">++</code> to increment the associated value of a unique key in an array, as in:
5 </div><pre class="screen"><em class="replaceable"><code>array_name</code></em>[<em class="replaceable"><code>index_expression</code></em>] ++</pre><div class="para">
6 Again, you can also use a handler function for your <code class="command"><em class="replaceable"><code>index_expression</code></em></code>. For example, if you wanted to tally how many times a specific process performed a read to the virtual file system (using the event <code class="command">vfs.read</code>), you can use the following probe:
7 </div><a id="id708408" class="indexterm"></a><a id="id686393" class="indexterm"></a><a id="id627062" class="indexterm"></a><a id="id803545" class="indexterm"></a><a id="id746726" class="indexterm"></a><div class="example" id="simplesimplevfsread"><h6>Example 3.16. vfsreads.stp</h6><div class="example-contents"><pre class="programlisting">probe vfs.read
8{
9 reads[execname()] ++
10}</pre></div></div><br class="example-break" /><div class="para">
11 In <a class="xref" href="arrayops-increment.html#simplesimplevfsread">Example 3.16, “vfsreads.stp”</a>, the first time that the probe returns the process name <code class="command">gnome-terminal</code> (i.e. the first time <code class="command">gnome-terminal</code> performs a VFS read), that process name is set as the unique key <code class="literal">gnome-terminal</code> with an associated value of 1. The next time that the probe returns the process name <code class="command">gnome-terminal</code>, SystemTap increments the associated value of <code class="literal">gnome-terminal</code> by 1. SystemTap performs this operation for <span class="emphasis"><em>all</em></span> process names as the probe returns them.
12 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-readvalues.html"><strong>Prev</strong>3.5.2. Reading Values From Arrays</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-foreach.html"><strong>Next</strong>3.5.4. Processing Multiple Elements in an Array</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/arrayops-readvalues.html b/SystemTap_Beginners_Guide/arrayops-readvalues.html
deleted file mode 100644
index 565fab54..00000000
--- a/SystemTap_Beginners_Guide/arrayops-readvalues.html
+++ /dev/null
@@ -1,11 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.5.2. Reading Values From Arrays</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="prev" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /><link rel="next" href="arrayops-increment.html" title="3.5.3. Incrementing Associated Values" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayoperators.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayops-increment.html"><strong>Next</strong></a></li></ul><div class="section" id="arrayops-readvalues"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="arrayops-readvalues">3.5.2. Reading Values From Arrays</h3></div></div></div><a id="id780489" class="indexterm"></a><a id="id780501" class="indexterm"></a><a id="id641910" class="indexterm"></a><div class="para">
4 You can also read values from an array the same way you would read the value of a variable. To do so, include the <code class="command"><em class="replaceable"><code>array_name</code></em>[<em class="replaceable"><code>index_expression</code></em>]</code> statement as an element in a mathematical expression. For example:
5 </div><a id="id665194" class="indexterm"></a><a id="id1165122" class="indexterm"></a><a id="id557777" class="indexterm"></a><a id="id614653" class="indexterm"></a><a id="id1147849" class="indexterm"></a><a id="id711136" class="indexterm"></a><a id="id557761" class="indexterm"></a><a id="id680624" class="indexterm"></a><a id="id665272" class="indexterm"></a><a id="id764185" class="indexterm"></a><div class="example" id="arrayreadingvaluesfrom"><h6>Example 3.15. Using Array Values in Simple Computations</h6><div class="example-contents"><pre class="screen">delta = gettimeofday_s() - foo[tid()]</pre></div></div><br class="example-break" /><div class="para">
6 This example assumes that the array <code class="command">foo</code> was built using the construct in <a class="xref" href="arrayoperators.html#arrays-timestampprocessname">Example 3.14, “Associating Timestamps to Process Names”</a> (from <a class="xref" href="arrayoperators.html#arrayops-assignvalue">Section 3.5.1, “Assigning an Associated Value”</a>). This sets a timestamp that will serve as a <span class="emphasis"><em>reference point</em></span>, to be used in computing for <code class="literal">delta</code>.
7 </div><div class="para">
8 The construct in <a class="xref" href="arrayops-readvalues.html#arrayreadingvaluesfrom">Example 3.15, “Using Array Values in Simple Computations”</a> computes a value for the variable <code class="literal">delta</code> by subtracting the associated value of the key <code class="literal">tid()</code> from the current <code class="command">gettimeofday_s()</code>. The construct does this by <span class="emphasis"><em>reading</em></span> the value of <code class="literal">tid()</code> from the array. This particular construct is useful for determining the time between two events, such as the start and completion of a read operation.
9 </div><a id="id524733" class="indexterm"></a><a id="id627438" class="indexterm"></a><a id="id491690" class="indexterm"></a><a id="id530757" class="indexterm"></a><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
10 If the <code class="command"><em class="replaceable"><code>index_expression</code></em></code> cannot find the unique key, it returns a value of 0 (for numerical operations, such as <a class="xref" href="arrayops-readvalues.html#arrayreadingvaluesfrom">Example 3.15, “Using Array Values in Simple Computations”</a>) or a null/empty string value (for string operations) by default.
11 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayoperators.html"><strong>Prev</strong>3.5. Array Operations in SystemTap</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayops-increment.html"><strong>Next</strong>3.5.3. Incrementing Associated Values</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/associativearrays.html b/SystemTap_Beginners_Guide/associativearrays.html
deleted file mode 100644
index 61a971fe..00000000
--- a/SystemTap_Beginners_Guide/associativearrays.html
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.4. Associative Arrays</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="prev" href="commandlineargssect.html" title="3.3.4. Command-Line Arguments" /><link rel="next" href="arrayoperators.html" title="3.5. Array Operations in SystemTap" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="commandlineargssect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="arrayoperators.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="associativearrays" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="associativearrays">3.4. Associative Arrays</h2></div></div></div><a id="id687660" class="indexterm"></a><a id="id654003" class="indexterm"></a><div class="para">
4 SystemTap also supports the use of associative arrays. While an ordinary variable represents a single value, associative arrays can represent a collection of values. Simply put, an associative array is a collection of unique keys; each key in the array has a value associated with it.
5 </div><a id="id578661" class="indexterm"></a><a id="id1166331" class="indexterm"></a><a id="id801732" class="indexterm"></a><a id="id691719" class="indexterm"></a><a id="id1189256" class="indexterm"></a><a id="id496723" class="indexterm"></a><a id="id625286" class="indexterm"></a><a id="id606105" class="indexterm"></a><div class="para">
6 Since associative arrays are normally processed in multiple probes (as we will demonstrate later), they should be declared as <code class="command">global</code> variables in the SystemTap script. The syntax for accessing an element in an associative array is similar to that of <code class="command">awk</code>, and is as follows:
7 </div><a id="id750410" class="indexterm"></a><a id="id1161006" class="indexterm"></a><a id="id608313" class="indexterm"></a><pre class="screen"><em class="replaceable"><code>array_name</code></em>[<em class="replaceable"><code>index_expression</code></em>]</pre><div class="para">
8 Here, the <code class="command"><em class="replaceable"><code>array_name</code></em></code> is any arbitrary name the array uses. The <code class="command"><em class="replaceable"><code>index_expression</code></em></code> is used to refer to a specific unique key in the array. To illustrate, let us try to build an array named <code class="command">foo</code> that specifies the ages of three people (i.e. the unique keys): <code class="command">tom</code>, <code class="command">dick</code>, and <code class="command">harry</code>. To assign them the ages (i.e. associated values) of 23, 24, and 25 respectively, we'd use the following array statements:
9 </div><a id="id593253" class="indexterm"></a><a id="id647273" class="indexterm"></a><div class="example" id="arraysimplestexample"><h6>Example 3.13. Basic Array Statements</h6><div class="example-contents"><pre class="screen">foo["tom"] = 23
10foo["dick"] = 24
11foo["harry"] = 25</pre></div></div><br class="example-break" /><div class="para">
12 You can specify up to nine index expressons in an array statement, each one delimited by a comma (<code class="command">,</code>). This is useful if you wish to have a key that contains multiple pieces of information. The following line from <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> uses 5 elements for the key: process ID, executable name, user ID, parent process ID, and string "W". It associates the value of <code class="command">devname</code> with that key.
13 </div><pre class="screen">device[pid(),execname(),uid(),ppid(),"W"] = devname</pre><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
14 All associate arrays must be declared as <code class="command">global</code>, regardless of whether the associate array is used in one or multiple probes.
15 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="commandlineargssect.html"><strong>Prev</strong>3.3.4. Command-Line Arguments</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="arrayoperators.html"><strong>Next</strong>3.5. Array Operations in SystemTap</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/commandlineargssect.html b/SystemTap_Beginners_Guide/commandlineargssect.html
deleted file mode 100644
index 69890c82..00000000
--- a/SystemTap_Beginners_Guide/commandlineargssect.html
+++ /dev/null
@@ -1,8 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.4. Command-Line Arguments</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="scriptconstructions.html" title="3.3. Basic SystemTap Handler Constructs" /><link rel="prev" href="handlerconditionalstatements.html" title="3.3.3. Conditional Statements" /><link rel="next" href="associativearrays.html" title="3.4. Associative Arrays" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="handlerconditionalstatements.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="associativearrays.html"><strong>Next</strong></a></li></ul><div class="section" id="commandlineargssect"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="commandlineargssect">3.3.4. Command-Line Arguments</h3></div></div></div><a id="id543670" class="indexterm"></a><a id="id520734" class="indexterm"></a><a id="id693902" class="indexterm"></a><div class="para">
4 You can also allow a SystemTap script to accept simple command-line arguments using a <code class="command">$</code> or <code class="command">@</code> immediately followed by the number of the argument on the command line. Use <code class="command">$</code> if you are expecting the user to enter an integer as a command-line argument, and <code class="command">@</code> if you are expecting a string.
5 </div><div class="example" id="commandlineargs"><h6>Example 3.12. commandlineargs.stp</h6><div class="example-contents"><pre class="programlisting">probe kernel.function(@1) { }
6probe kernel.function(@1).return { }</pre></div></div><br class="example-break" /><div class="para">
7 <a class="xref" href="commandlineargssect.html#commandlineargs">Example 3.12, “commandlineargs.stp”</a> is similar to <a class="xref" href="scripts.html#wildcards">Example 3.1, “wildcards.stp”</a>, except that it allows you to pass the kernel function to be probed as a command-line argument (as in <code class="command">stap commandlineargs.stp <em class="replaceable"><code>kernel function</code></em></code>). You can also specify the script to accept multiple command-line arguments, noting them as <code class="command">@1</code>, <code class="command">@2</code>, and so on, in the order they are entered by the user.
8 </div><a id="id644589" class="indexterm"></a><a id="id504276" class="indexterm"></a><a id="id691538" class="indexterm"></a></div><ul class="docnav"><li class="previous"><a accesskey="p" href="handlerconditionalstatements.html"><strong>Prev</strong>3.3.3. Conditional Statements</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="associativearrays.html"><strong>Next</strong>3.4. Associative Arrays</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/cross-compiling.html b/SystemTap_Beginners_Guide/cross-compiling.html
deleted file mode 100644
index 8edd186a..00000000
--- a/SystemTap_Beginners_Guide/cross-compiling.html
+++ /dev/null
@@ -1,59 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2.2. Generating Instrumentation for Other Computers</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="using-systemtap.html" title="Chapter 2. Using SystemTap" /><link rel="prev" href="using-systemtap.html" title="Chapter 2. Using SystemTap" /><link rel="next" href="using-usage.html" title="2.3. Running SystemTap Scripts" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="using-systemtap.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="using-usage.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="cross-compiling" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="cross-compiling">2.2. Generating Instrumentation for Other Computers</h2></div></div></div><a id="id1157664" class="indexterm"></a><a id="id502740" class="indexterm"></a><a id="id622746" class="indexterm"></a><a id="id1093523" class="indexterm"></a><a id="id753924" class="indexterm"></a><a id="id505925" class="indexterm"></a><a id="id641261" class="indexterm"></a><a id="id595891" class="indexterm"></a><div class="para">
4 When users run a SystemTap script, SystemTap builds a kernel module out of that script. SystemTap then loads the module into the kernel, allowing it to extract the specified data directly from the kernel (refer to <a class="xref" href="understanding-how-systemtap-works.html#systemtapsession">Procedure 3.1, “SystemTap Session”</a> in <a class="xref" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Section 3.1, “Architecture”</a> for more information).
5 </div><div class="para">
6 Normally, however, SystemTap scripts can only be run on systems where SystemTap is deployed (as in <a class="xref" href="using-systemtap.html#using-setup">Section 2.1, “Installation and Setup”</a>). This could mean that if you want to run SystemTap on ten systems, you would need to deploy SystemTap on <span class="emphasis"><em>all</em></span> those systems. In some cases, this may be neither feasible nor desired. For instance, corporate policy may prohibit an administrator from installing RPMs that provide compilers or debug information on specific machines, which will prevent the deployment of SystemTap.
7 </div><div class="para">
8 To work around this, you can resort to <em class="firstterm">cross-instrumentation</em>. Cross-instrumentation is the process of generating SystemTap instrumentation module from a SystemTap script on one computer to be used on another computer. This process offers the following benefits:
9 </div><a id="id514450" class="indexterm"></a><a id="id799870" class="indexterm"></a><div class="itemizedlist"><ul><li class="listitem"><div class="para">
10 The kernel information packages for various machines can be installed on a single <span class="emphasis"><em>host machine</em></span>.
11 </div></li><li class="listitem"><div class="para">
12 Each <span class="emphasis"><em>target machine</em></span> only needs one RPM to be installed to use the generated SystemTap instrumentation module: <code class="filename">systemtap-runtime</code>.
13 </div></li></ul></div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
14 For the sake of simplicity, we will be using the following terms throughout this section:
15 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
16 <a id="id498933" class="indexterm"></a>
17 <a id="id599565" class="indexterm"></a>
18 <span class="emphasis"><em>instrumentation module</em></span> — the kernel module built from a SystemTap script; i.e. the <span class="emphasis"><em>SystemTap module</em></span> is built on the <span class="emphasis"><em>host system</em></span>, and will be loaded on the <span class="emphasis"><em>target kernel</em></span> of <span class="emphasis"><em>target system</em></span>.
19 </div></li><li class="listitem"><div class="para">
20 <a id="id625371" class="indexterm"></a>
21 <a id="id1142019" class="indexterm"></a>
22 <span class="emphasis"><em>host system</em></span> — the system on which you compile the instrumentation modules (from SystemTap scripts), to be loaded on <span class="emphasis"><em>target systems</em></span>.
23 </div></li><li class="listitem"><div class="para">
24 <a id="id724892" class="indexterm"></a>
25 <a id="id642252" class="indexterm"></a>
26 <span class="emphasis"><em>target system</em></span> — the system for which you are building the <span class="emphasis"><em>instrumentation module</em></span> (from SystemTap scripts).
27 </div></li><li class="listitem"><div class="para">
28 <a id="id517683" class="indexterm"></a>
29 <a id="id752923" class="indexterm"></a>
30 <span class="emphasis"><em>target kernel</em></span> — the kernel of the <span class="emphasis"><em>target system</em></span>. This is the kernel on which you wish to load/run the <span class="emphasis"><em>instrumentation module</em></span>.
31 </div></li></ul></div></div></div><div class="procedure" id="preppingxcompile"><h6>Procedure 2.1. Configuring a Host System and Target Systems</h6><a id="id606766" class="indexterm"></a><a id="id526469" class="indexterm"></a><a id="id793793" class="indexterm"></a><ol class="1"><li class="step"><div class="para">
32 Install the <code class="filename">systemtap-runtime</code> RPM on each <span class="emphasis"><em>target system</em></span>.
33 </div></li><li class="step"><div class="para">
34 Determine the kernel running on each <span class="emphasis"><em>target system</em></span> by running <code class="command">uname -r</code> on each <span class="emphasis"><em>target system</em></span>.
35 </div></li><li class="step"><div class="para">
36 Install SystemTap on the <span class="emphasis"><em>host system</em></span>. You will be building the <span class="emphasis"><em>instrumentation module</em></span> for the <span class="emphasis"><em>target systems</em></span> on the <span class="emphasis"><em>host system</em></span>. For instructions on how to install SystemTap, refer to <a class="xref" href="using-systemtap.html#installproper">Section 2.1.1, “Installing SystemTap”</a>.
37 </div></li><li class="step"><div class="para">
38 Using the <span class="emphasis"><em>target kernel</em></span> version determined earlier, install the <span class="emphasis"><em>target kernel</em></span> and related RPMs on the <span class="emphasis"><em>host system</em></span> by the method described in <a class="xref" href="using-systemtap.html#install-kinfo">Section 2.1.2, “Installing Required Kernel Information RPMs”</a>. If multiple <span class="emphasis"><em>target systems</em></span> use different <span class="emphasis"><em>target kernels</em></span>, you will need to repeat this step for each different kernel used on the <span class="emphasis"><em>target systems</em></span>.
39 </div></li></ol></div><div class="para">
40 After performing <a class="xref" href="cross-compiling.html#preppingxcompile">Procedure 2.1, “Configuring a Host System and Target Systems”</a>, you can now build the <span class="emphasis"><em>instrumentation module</em></span> (for any <span class="emphasis"><em>target system</em></span>) on the <span class="emphasis"><em>host system</em></span>.
41 </div><div class="para">
42 To build the <span class="emphasis"><em>instrumentation module</em></span>, run the following command on the <span class="emphasis"><em>host system</em></span> (be sure to specify the appropriate values):
43 </div><pre class="screen">stap -r <em class="replaceable"><code>kernel_version</code></em> <em class="replaceable"><code>script</code></em> -m <em class="replaceable"><code>module_name</code></em></pre><div class="para">
44 Here, <code class="command"><em class="replaceable"><code>kernel_version</code></em></code> refers to the version of the <span class="emphasis"><em>target kernel</em></span> (the output of <code class="command">uname -r</code> on the target machine), <code class="command"><em class="replaceable"><code>script</code></em></code> refers to the script to be converted into an <span class="emphasis"><em>instrumentation module</em></span>, and <code class="command"><em class="replaceable"><code>module_name</code></em></code> is the desired name of the <span class="emphasis"><em>instrumentation module</em></span>.
45 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><a id="id809843" class="indexterm"></a><a id="id809851" class="indexterm"></a><a id="id1137777" class="indexterm"></a><div class="para">
46 To determine the architecture notation of a running kernel, run <code class="command">uname -m</code>.
47 </div></div></div><div class="para">
48 Once the the <span class="emphasis"><em>instrumentation module</em></span> is compiled, copy it to the <span class="emphasis"><em>target system</em></span> and then load it using:
49 </div><pre class="screen">staprun <em class="replaceable"><code>module_name</code></em>.ko</pre><div class="para">
50 For example, to create the <span class="emphasis"><em>instrumentation module</em></span> <code class="filename">simple.ko</code> from a SystemTap script named <code class="filename">simple.stp</code> for the <span class="emphasis"><em>target kernel</em></span> 2.6.18-92.1.10.el5 (on x86_64 architecture), use the following command:
51 </div><div class="para">
52 <code class="command">stap -r 2.6.18-92.1.10.el5 -e 'probe vfs.read {exit()}' -m simple</code>
53 </div><div class="para">
54 This will create a module named <code class="filename">simple.ko</code>. To use the <span class="emphasis"><em>instrumentation module</em></span> <code class="filename">simple.ko</code>, copy it to the <span class="emphasis"><em>target system</em></span> and run the following command (on the <span class="emphasis"><em>target system</em></span>):
55 </div><div class="para">
56 <code class="command">staprun simple.ko</code>
57 </div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
58 The <span class="emphasis"><em>host system</em></span> must be the same architecture and running the same distribution of Linux as the <span class="emphasis"><em>target system</em></span> in order for the built <span class="emphasis"><em>instrumentation module</em></span> to work.
59 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="using-systemtap.html"><strong>Prev</strong>Chapter 2. Using SystemTap</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="using-usage.html"><strong>Next</strong>2.3. Running SystemTap Scripts</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/errors.html b/SystemTap_Beginners_Guide/errors.html
deleted file mode 100644
index a6c2c1b7..00000000
--- a/SystemTap_Beginners_Guide/errors.html
+++ /dev/null
@@ -1,56 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 6. Understanding SystemTap Errors</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="futexcontentionsect.html" title="5.4. Identifying Contended User-Space Locks" /><link rel="next" href="runtimeerror.html" title="6.2. Run Time Errors and Warnings" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="futexcontentionsect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="runtimeerror.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="errors" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 6. Understanding SystemTap Errors</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="errors.html#parsetype">6.1. Parse and Semantic Errors</a></span></dt><dt><span class="section"><a href="runtimeerror.html">6.2. Run Time Errors and Warnings</a></span></dt></dl></div><div class="para">
4 This chapter explains the most common errors you may encounter while using SystemTap.
5 </div><div class="section" id="parsetype"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="parsetype">6.1. Parse and Semantic Errors</h2></div></div></div><a id="id563696" class="indexterm"></a><a id="id651954" class="indexterm"></a><a id="id641275" class="indexterm"></a><div class="para">
6 These types of errors occur while SystemTap attempts to parse and translate the script into C, prior to being converted into a kernel module. For example type errors result from operations that assign invalid values to variables or arrays.
7 </div><div class="formalpara"><h5 class="formalpara" id="id658156">parse error: expected <em class="replaceable"><code>foo</code></em>, saw <em class="replaceable"><code>bar</code></em></h5><a id="id641362" class="indexterm"></a><a id="id473405" class="indexterm"></a><a id="id788167" class="indexterm"></a><a id="id623916" class="indexterm"></a><a id="id636063" class="indexterm"></a><a id="id751409" class="indexterm"></a><a id="id751425" class="indexterm"></a><a id="id751440" class="indexterm"></a><a id="id619509" class="indexterm"></a>
8 The script contains a grammatical/typographical error. SystemTap detected type of construct that is incorrect, given the context of the probe.
9 </div><div class="para">
10 The following invalid SystemTap script is missing its probe handlers:
11 </div><div class="para">
12
13<pre class="programlisting">probe vfs.read
14probe vfs.write
15</pre>
16 </div><div class="para">
17 It results in the following error message showing that the parser was expecting something other than the <code class="command">probe</code> keyword in column 1 of line 2:
18 </div><div class="para">
19
20<pre class="programlisting">parse error: expected one of '. , ( ? ! { = +='
21 saw: keyword at perror.stp:2:1
221 parse error(s).</pre>
23 </div><div class="formalpara"><h5 class="formalpara" id="id743185">parse error: embedded code in unprivileged script</h5><a id="id743194" class="indexterm"></a><a id="id799203" class="indexterm"></a><a id="id799219" class="indexterm"></a><a id="id799234" class="indexterm"></a><a id="id1062421" class="indexterm"></a><a id="id1062436" class="indexterm"></a>
24 The script contains unsafe embedded C code (blocks of code surrounded by <code class="command">%{</code> <code class="command">%}</code>. SystemTap allows you to embed C code in a script, which is useful if there are no tapsets to suit your purposes. However, embedded C constructs are not safe; as such, SystemTap warns you with this error if such constructs appear in the script.
25 </div><a id="id512488" class="indexterm"></a><a id="id512503" class="indexterm"></a><a id="id630335" class="indexterm"></a><a id="id630350" class="indexterm"></a><div class="para">
26 If you are sure of the safety of any similar constructs in the script <span class="emphasis"><em>and</em></span> are member of <code class="command">stapdev</code> group (or have root privileges), run the script in "guru" mode by using the option <code class="command">-g</code> (i.e. <code class="command">stap -g <em class="replaceable"><code>script</code></em></code>).
27 </div><div class="formalpara"><h5 class="formalpara" id="id840154">semantic error: type mismatch for identifier '<em class="replaceable"><code>foo</code></em>' ... string vs. long</h5><a id="id840167" class="indexterm"></a><a id="id840182" class="indexterm"></a><a id="id786891" class="indexterm"></a><a id="id786907" class="indexterm"></a><a id="id786922" class="indexterm"></a>
28 The function <code class="command"><em class="replaceable"><code>foo</code></em></code> in the script used the wrong type (i.e. <code class="command">%s</code> or <code class="command">%d</code>). This error will present itself in <a class="xref" href="errors.html#errorvariable">Example 6.1, “error-variable.stp”</a>, because the function <code class="command">execname()</code> returns a string the format specifier should be a <code class="command">%s</code>, not <code class="command">%d</code>.
29 </div><div class="example" id="errorvariable"><h6>Example 6.1. error-variable.stp</h6><div class="example-contents"><pre class="programlisting">probe syscall.open
30{
31 printf ("%d(%d) open\n", execname(), pid())
32}</pre></div></div><br class="example-break" /><div class="formalpara"><h5 class="formalpara" id="id571138">semantic error: unresolved type for identifier '<em class="replaceable"><code>foo</code></em>'</h5><a id="id571150" class="indexterm"></a><a id="id571166" class="indexterm"></a><a id="id514670" class="indexterm"></a><a id="id514685" class="indexterm"></a>
33 The identifier (e.g. a variable) was used, but no type (integer or string) could be determined. This occurs, for instance, if you use a variable in a <code class="command">printf</code> statement while the script never assigns a value to the variable.
34 </div><div class="formalpara"><h5 class="formalpara" id="id778205">semantic error: Expecting symbol or array index expression</h5><a id="id778214" class="indexterm"></a><a id="id778229" class="indexterm"></a><a id="id593171" class="indexterm"></a><a id="id593187" class="indexterm"></a>
35 SystemTap could not assign a value to a variable or to a location in an array. The destination for the assignment is not a valid destination. The following example code would generate this error:
36 </div><div class="para">
37
38<pre class="programlisting">probe begin { printf("x") = 1 }
39</pre>
40 </div><div class="formalpara"><h5 class="formalpara" id="id710659">while searching for arity <em class="replaceable"><code>N</code></em> function, semantic error: unresolved function call</h5><a id="id710672" class="indexterm"></a><a id="id710687" class="indexterm"></a><a id="id545490" class="indexterm"></a><a id="id545505" class="indexterm"></a><a id="id545521" class="indexterm"></a>
41 A function call or array index expression in the script used an invalid number of arguments/parameters. In SystemTap <em class="firstterm">arity</em> can either refer to the number of indices for an array, or the number of parameters to a function.
42 </div><div class="formalpara"><h5 class="formalpara" id="id476913">semantic error: array locals not supported, missing global declaration?</h5><a id="id476921" class="indexterm"></a><a id="id476937" class="indexterm"></a><a id="id760121" class="indexterm"></a><a id="id760137" class="indexterm"></a><a id="id760152" class="indexterm"></a>
43 The script used an array operation without declaring the array as a global variable (global variables can be declared after their use in SystemTap scripts). Similar messages appear if an array is used, but with inconsistent arities.
44 </div><div class="formalpara"><h5 class="formalpara" id="id458048">semantic error: variable ’<em class="replaceable"><code>foo</code></em>’ modified during ’foreach’ iteration</h5><a id="id458061" class="indexterm"></a><a id="id637108" class="indexterm"></a><a id="id637124" class="indexterm"></a><a id="id637140" class="indexterm"></a>
45 The array <code class="literal">foo</code> is being modifed (being assigned to or deleted from) within an active <code class="command">foreach</code> loop. This error also displays if an operation within the script performs a function call within the <code class="command">foreach</code> loop.
46 </div><div class="formalpara"><h5 class="formalpara" id="id646815">semantic error: probe point mismatch at position <em class="replaceable"><code>N</code></em>, while resolving probe point <em class="replaceable"><code>foo</code></em></h5><a id="id646830" class="indexterm"></a><a id="id612791" class="indexterm"></a><a id="id612807" class="indexterm"></a><a id="id612823" class="indexterm"></a>
47 SystemTap did not understand what the event or SystemTap function <code class="computeroutput"><em class="replaceable"><code>foo</code></em></code> refers to. This usually means that SystemTap could not find a match for <code class="computeroutput"><em class="replaceable"><code>foo</code></em></code> in the tapset library. The <em class="replaceable"><code>N</code></em> refers to the line and column of the error.
48 </div><div class="formalpara"><h5 class="formalpara" id="id778015">semantic error: no match for probe point, while resolving probe point <em class="replaceable"><code>foo</code></em></h5><a id="id778027" class="indexterm"></a><a id="id711513" class="indexterm"></a><a id="id711529" class="indexterm"></a><a id="id711545" class="indexterm"></a><a id="id1183863" class="indexterm"></a>
49 The events/handler function <code class="computeroutput"><em class="replaceable"><code>foo</code></em></code> could not be resolved altogether, for a variety of reasons. This error occurs when the script contains the event <code class="command">kernel.function("<em class="replaceable"><code>blah</code></em>")</code>, and <code class="command"><em class="replaceable"><code>blah</code></em></code> does not exist. In some cases, the error could also mean the script contains an invalid kernel file name or source line number.
50 </div><div class="formalpara"><h5 class="formalpara" id="id566670">semantic error: unresolved target-symbol expression</h5><a id="id566678" class="indexterm"></a><a id="id566694" class="indexterm"></a><a id="id1151936" class="indexterm"></a><a id="id1151952" class="indexterm"></a><a id="id1151967" class="indexterm"></a>
51 A handler in the script references a target variable, but the value of the variable could not be resolved. This error could also mean that a handler is referencing a target variable that is not valid in the context when it was referenced. This may be a result of compiler optimization of the generated code.
52 </div><div class="formalpara"><h5 class="formalpara" id="id720489">semantic error: libdwfl failure </h5><a id="id720498" class="indexterm"></a><a id="id720513" class="indexterm"></a><a id="id687666" class="indexterm"></a><a id="id687682" class="indexterm"></a>
53 There was a problem processing the debugging information. In most cases, this error results from the installation of a <code class="filename">kernel-debuginfo</code> RPM whose version does not match the probed kernel exactly. The installed <code class="filename">kernel-debuginfo</code> RPM itself may have some consistency/correctness problems.
54 </div><div class="formalpara"><h5 class="formalpara" id="id735223">semantic error: cannot find <em class="replaceable"><code>foo</code></em> debuginfo</h5>
55 SystemTap could not find a suitable <code class="filename">kernel-debuginfo</code> at all.
56 </div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="futexcontentionsect.html"><strong>Prev</strong>5.4. Identifying Contended User-Space Locks</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="runtimeerror.html"><strong>Next</strong>6.2. Run Time Errors and Warnings</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/futexcontentionsect.html b/SystemTap_Beginners_Guide/futexcontentionsect.html
deleted file mode 100644
index c4becf08..00000000
--- a/SystemTap_Beginners_Guide/futexcontentionsect.html
+++ /dev/null
@@ -1,54 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.4. Identifying Contended User-Space Locks</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="useful-systemtap-scripts.html" title="Chapter 5. Useful SystemTap Scripts" /><link rel="prev" href="syscallsbyprocpidsect.html" title="5.3.6. Tracking System Call Volume Per Process" /><link rel="next" href="errors.html" title="Chapter 6. Understanding SystemTap Errors" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="syscallsbyprocpidsect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="errors.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="futexcontentionsect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="futexcontentionsect">5.4. Identifying Contended User-Space Locks</h2></div></div></div><a id="id591788" class="indexterm"></a><a id="id756102" class="indexterm"></a><a id="id667812" class="indexterm"></a><a id="id1142435" class="indexterm"></a><div class="para">
4 This section describes how to identify contended user-space locks throughout the system within a specific time period. The ability to identify contended user-space locks can help you investigate poor program performance that you suspect may be caused by <code class="command">futex</code> contentions.
5 </div><a id="id781735" class="indexterm"></a><a id="id577680" class="indexterm"></a><a id="id1174338" class="indexterm"></a><a id="id683988" class="indexterm"></a><a id="id639972" class="indexterm"></a><div class="para">
6 Simply put, <code class="command">futex</code> contention occurs when multiple processes are trying to access the same lock variable at the same time. This can result in a poor performance because the lock serializes execution; one process obtains the lock while the other processes must wait for the lock variable to become available again.
7 </div><a id="id727126" class="indexterm"></a><a id="id608664" class="indexterm"></a><a id="id667966" class="indexterm"></a><div class="para">
8 The <a class="xref" href="futexcontentionsect.html#futexcontention">futexes.stp</a> script probes the <code class="command">futex</code> system call to show lock contention.
9 </div><div class="formalpara" id="futexcontention"><h5 class="formalpara">futexes.stp</h5>
10
11<pre class="programlisting">#! /usr/bin/env stap
12
13# This script tries to identify contended user-space locks by hooking
14# into the futex system call.
15
16global FUTEX_WAIT = 0 /*, FUTEX_WAKE = 1 */
17global FUTEX_PRIVATE_FLAG = 128 /* linux 2.6.22+ */
18global FUTEX_CLOCK_REALTIME = 256 /* linux 2.6.29+ */
19
20global lock_waits # long-lived stats on (tid,lock) blockage elapsed time
21global process_names # long-lived pid-to-execname mapping
22
23probe syscall.futex.return {
24 if (($op &amp; ~(FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME)) != FUTEX_WAIT) next
25 process_names[pid()] = execname()
26 elapsed = gettimeofday_us() - @entry(gettimeofday_us())
27 lock_waits[pid(), $uaddr] &lt;&lt;&lt; elapsed
28}
29
30probe end {
31 foreach ([pid+, lock] in lock_waits)
32 printf ("%s[%d] lock %p contended %d times, %d avg us\n",
33 process_names[pid], pid, lock, @count(lock_waits[pid,lock]),
34 @avg(lock_waits[pid,lock]))
35}
36</pre>
37 </div><div class="para">
38 <a class="xref" href="futexcontentionsect.html#futexcontention">futexes.stp</a> needs to be manually stopped; upon exit, it prints the following information:
39 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
40 Name and ID of the process responsible for a contention
41 </div></li><li class="listitem"><div class="para">
42 The location of the contested lock variable
43 </div></li><li class="listitem"><div class="para">
44 How many times the lock variable was contended
45 </div></li><li class="listitem"><div class="para">
46 Average time of contention throughout the probe
47 </div></li></ul></div><div class="para">
48 <a class="xref" href="futexcontentionsect.html#futexcontentionoutput">Example 5.19, “futexes.stp Sample Output”</a> contains an excerpt from the output of <a class="xref" href="futexcontentionsect.html#futexcontention">futexes.stp</a> upon exiting the script (after approximately 20 seconds).
49 </div><div class="example" id="futexcontentionoutput"><h6>Example 5.19. <a class="xref" href="futexcontentionsect.html#futexcontention">futexes.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
50automount[2825] lock 0x00bc7784 contended 18 times, 999931 avg us
51synergyc[3686] lock 0x0861e96c contended 192 times, 101991 avg us
52synergyc[3758] lock 0x08d98744 contended 192 times, 101990 avg us
53synergyc[3938] lock 0x0982a8b4 contended 192 times, 101997 avg us
54[...]</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="syscallsbyprocpidsect.html"><strong>Prev</strong>5.3.6. Tracking System Call Volume Per Process</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="errors.html"><strong>Next</strong>Chapter 6. Understanding SystemTap Errors</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/handlerconditionalstatements.html b/SystemTap_Beginners_Guide/handlerconditionalstatements.html
deleted file mode 100644
index f46a6ceb..00000000
--- a/SystemTap_Beginners_Guide/handlerconditionalstatements.html
+++ /dev/null
@@ -1,49 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.3. Conditional Statements</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="scriptconstructions.html" title="3.3. Basic SystemTap Handler Constructs" /><link rel="prev" href="targetavailable.html" title="3.3.2.3. Checking Target Variable Availablility" /><link rel="next" href="commandlineargssect.html" title="3.3.4. Command-Line Arguments" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="targetavailable.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="commandlineargssect.html"><strong>Next</strong></a></li></ul><div class="section" id="handlerconditionalstatements"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="handlerconditionalstatements">3.3.3. Conditional Statements</h3></div></div></div><a id="id683862" class="indexterm"></a><a id="id761551" class="indexterm"></a><div class="para">
4 In some cases, the output of a SystemTap script may be too big. To address this, you need to further refine the script's logic in order to delimit the output into something more relevant or useful to your probe.
5 </div><div class="para">
6 You can do this by using <span class="emphasis"><em>conditionals</em></span> in handlers. SystemTap accepts the following types of conditional statements:
7 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">If/Else Statements</span></dt><dd><a id="id710700" class="indexterm"></a><a id="id801725" class="indexterm"></a><a id="id596174" class="indexterm"></a><div class="para">
8 Format:
9 </div><pre class="programlisting">if (<em class="replaceable"><code>condition</code></em>)
10 <em class="replaceable"><code>statement1</code></em>
11else
12 <em class="replaceable"><code>statement2</code></em></pre><div class="para">
13 The <code class="command"><em class="replaceable"><code>statement1</code></em></code> is executed if the <code class="command"><em class="replaceable"><code>condition</code></em></code> expression is non-zero. The <code class="command"><em class="replaceable"><code>statement2</code></em></code> is executed if the <code class="command"><em class="replaceable"><code>condition</code></em></code> expression is zero. The <code class="command">else</code> clause (<code class="command">else</code> <em class="replaceable"><code>statement2</code></em>) is optional. Both <code class="command"><em class="replaceable"><code>statement1</code></em></code> and <code class="command"><em class="replaceable"><code>statement2</code></em></code> can be statement blocks.
14 </div><div class="example" id="simpleifelseexample"><h6>Example 3.11. ifelse.stp</h6><div class="example-contents"><pre class="programlisting">global countread, countnonread
15probe kernel.function("vfs_read"),kernel.function("vfs_write")
16{
17 if (probefunc()=="vfs_read")
18 countread ++
19 else
20 countnonread ++
21}
22probe timer.s(5) { exit() }
23probe end
24{
25 printf("VFS reads total %d\n VFS writes total %d\n", countread, countnonread)
26}</pre></div></div><br class="example-break" /><div class="para">
27 <a class="xref" href="handlerconditionalstatements.html#simpleifelseexample">Example 3.11, “ifelse.stp”</a> is a script that counts how many virtual file system reads (<code class="command">vfs_read</code>) and writes (<code class="command">vfs_write</code>) the system performs within a 5-second span. When run, the script increments the value of the variable <code class="command">countread</code> by 1 if the name of the function it probed matches <code class="command">vfs_read</code> (as noted by the condition <code class="command">if (probefunc()=="vfs_read")</code>); otherwise, it increments <code class="command">countnonread</code> (<code class="command">else {countnonread ++}</code>).
28 </div></dd><dt class="varlistentry"><span class="term">While Loops</span></dt><dd><a id="id1095310" class="indexterm"></a><a id="id592165" class="indexterm"></a><a id="id1141127" class="indexterm"></a><div class="para">
29 Format:
30 </div><pre class="programlisting">while (<em class="replaceable"><code>condition</code></em>)
31 <em class="replaceable"><code>statement</code></em></pre><div class="para">
32 So long as <code class="command"><em class="replaceable"><code>condition</code></em></code> is non-zero the block of statements in <code class="command"><em class="replaceable"><code>statement</code></em></code> are executed. The <code class="command"><em class="replaceable"><code>statement</code></em></code> is often a statement block and it must change a value so <code class="command"><em class="replaceable"><code>condition</code></em></code> will eventually be zero.
33 </div></dd><dt class="varlistentry"><span class="term">For Loops</span></dt><dd><a id="id632287" class="indexterm"></a><a id="id593370" class="indexterm"></a><a id="id784294" class="indexterm"></a><div class="para">
34 Format:
35 </div><pre class="programlisting">for (<em class="replaceable"><code>initialization</code></em>; <em class="replaceable"><code>conditional</code></em>; <em class="replaceable"><code>increment</code></em>) <em class="replaceable"><code>statement</code></em></pre><div class="para">
36 The <code class="command">for</code> loop is simply shorthand for a while loop. The following is the equivalent <code class="command">while</code> loop:
37 </div><pre class="programlisting"><em class="replaceable"><code>initialization</code></em>
38while (<em class="replaceable"><code>conditional</code></em>) {
39 <em class="replaceable"><code>statement</code></em>
40 <em class="replaceable"><code>increment</code></em>
41}</pre></dd></dl></div><div class="formalpara"><h5 class="formalpara" id="id809063">Conditional Operators</h5><a id="id521755" class="indexterm"></a><a id="id688823" class="indexterm"></a><a id="id489267" class="indexterm"></a>
42 Aside from <code class="command">==</code> ("is equal to"), you can also use the following operators in your conditional statements:
43 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">&gt;=</span></dt><dd><div class="para">
44 Greater than or equal to
45 </div></dd><dt class="varlistentry"><span class="term">&lt;=</span></dt><dd><div class="para">
46 Less than or equal to
47 </div></dd><dt class="varlistentry"><span class="term">!=</span></dt><dd><div class="para">
48 Is not equal to
49 </div></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="targetavailable.html"><strong>Prev</strong>3.3.2.3. Checking Target Variable Availablility</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="commandlineargssect.html"><strong>Next</strong>3.3.4. Command-Line Arguments</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/images/gnuplotsample.png b/SystemTap_Beginners_Guide/images/gnuplotsample.png
deleted file mode 100755
index c84bbd57..00000000
--- a/SystemTap_Beginners_Guide/images/gnuplotsample.png
+++ /dev/null
Binary files differ
diff --git a/SystemTap_Beginners_Guide/images/icon.svg b/SystemTap_Beginners_Guide/images/icon.svg
deleted file mode 100644
index c471a607..00000000
--- a/SystemTap_Beginners_Guide/images/icon.svg
+++ /dev/null
@@ -1,3936 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3<svg
4 xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
5 xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
6 xmlns:dc="http://purl.org/dc/elements/1.1/"
7 xmlns:cc="http://web.resource.org/cc/"
8 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9 xmlns:svg="http://www.w3.org/2000/svg"
10 xmlns="http://www.w3.org/2000/svg"
11 xmlns:xlink="http://www.w3.org/1999/xlink"
12 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14 version="1.0"
15 width="32"
16 height="32"
17 id="svg3017"
18 sodipodi:version="0.32"
19 inkscape:version="0.44+devel"
20 sodipodi:docname="book.svg"
21 sodipodi:docbase="/home/andy/Desktop">
22 <metadata
23 id="metadata489">
24 <rdf:RDF>
25 <cc:Work
26 rdf:about="">
27 <dc:format>image/svg+xml</dc:format>
28 <dc:type
29 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
30 </cc:Work>
31 </rdf:RDF>
32 </metadata>
33 <sodipodi:namedview
34 inkscape:window-height="480"
35 inkscape:window-width="858"
36 inkscape:pageshadow="0"
37 inkscape:pageopacity="0.0"
38 guidetolerance="10.0"
39 gridtolerance="10.0"
40 objecttolerance="10.0"
41 borderopacity="1.0"
42 bordercolor="#666666"
43 pagecolor="#ffffff"
44 id="base"
45 inkscape:zoom="1"
46 inkscape:cx="16"
47 inkscape:cy="15.944056"
48 inkscape:window-x="0"
49 inkscape:window-y="33"
50 inkscape:current-layer="svg3017" />
51 <defs
52 id="defs3019">
53 <linearGradient
54 id="linearGradient2381">
55 <stop
56 style="stop-color:white;stop-opacity:1"
57 offset="0"
58 id="stop2383" />
59 <stop
60 style="stop-color:white;stop-opacity:0"
61 offset="1"
62 id="stop2385" />
63 </linearGradient>
64 <linearGradient
65 x1="415.73831"
66 y1="11.854"
67 x2="418.13361"
68 y2="18.8104"
69 id="XMLID_1758_"
70 gradientUnits="userSpaceOnUse"
71 gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
72 <stop
73 style="stop-color:#ccc;stop-opacity:1"
74 offset="0"
75 id="stop3903" />
76 <stop
77 style="stop-color:#f2f2f2;stop-opacity:1"
78 offset="1"
79 id="stop3905" />
80 <a:midPointStop
81 style="stop-color:#CCCCCC"
82 offset="0" />
83 <a:midPointStop
84 style="stop-color:#CCCCCC"
85 offset="0.5" />
86 <a:midPointStop
87 style="stop-color:#F2F2F2"
88 offset="1" />
89 </linearGradient>
90 <linearGradient
91 x1="500.70749"
92 y1="-13.2441"
93 x2="513.46442"
94 y2="-2.1547"
95 id="XMLID_1757_"
96 gradientUnits="userSpaceOnUse"
97 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
98 <stop
99 style="stop-color:#5387ba;stop-opacity:1"
100 offset="0"
101 id="stop3890" />
102 <stop
103 style="stop-color:#96bad6;stop-opacity:1"
104 offset="1"
105 id="stop3892" />
106 <a:midPointStop
107 style="stop-color:#5387BA"
108 offset="0" />
109 <a:midPointStop
110 style="stop-color:#5387BA"
111 offset="0.5" />
112 <a:midPointStop
113 style="stop-color:#96BAD6"
114 offset="1" />
115 </linearGradient>
116 <clipPath
117 id="XMLID_1755_">
118 <use
119 id="use3874"
120 x="0"
121 y="0"
122 width="744.09448"
123 height="600"
124 xlink:href="#XMLID_343_" />
125 </clipPath>
126 <linearGradient
127 x1="505.62939"
128 y1="-14.9526"
129 x2="527.49402"
130 y2="-0.7536"
131 id="XMLID_1756_"
132 gradientUnits="userSpaceOnUse"
133 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
134 <stop
135 style="stop-color:#b4daea;stop-opacity:1"
136 offset="0"
137 id="stop3877" />
138 <stop
139 style="stop-color:#b4daea;stop-opacity:1"
140 offset="0.51120001"
141 id="stop3879" />
142 <stop
143 style="stop-color:#5387ba;stop-opacity:1"
144 offset="0.64609998"
145 id="stop3881" />
146 <stop
147 style="stop-color:#16336e;stop-opacity:1"
148 offset="1"
149 id="stop3883" />
150 <a:midPointStop
151 style="stop-color:#B4DAEA"
152 offset="0" />
153 <a:midPointStop
154 style="stop-color:#B4DAEA"
155 offset="0.5" />
156 <a:midPointStop
157 style="stop-color:#B4DAEA"
158 offset="0.5112" />
159 <a:midPointStop
160 style="stop-color:#B4DAEA"
161 offset="0.5" />
162 <a:midPointStop
163 style="stop-color:#5387BA"
164 offset="0.6461" />
165 <a:midPointStop
166 style="stop-color:#5387BA"
167 offset="0.5" />
168 <a:midPointStop
169 style="stop-color:#16336E"
170 offset="1" />
171 </linearGradient>
172 <linearGradient
173 x1="471.0806"
174 y1="201.07761"
175 x2="481.91711"
176 y2="210.4977"
177 id="XMLID_1754_"
178 gradientUnits="userSpaceOnUse">
179 <stop
180 style="stop-color:#6498c1;stop-opacity:1"
181 offset="0.005618"
182 id="stop3863" />
183 <stop
184 style="stop-color:#79a9cc;stop-opacity:1"
185 offset="0.2332"
186 id="stop3865" />
187 <stop
188 style="stop-color:#a4cde2;stop-opacity:1"
189 offset="0.74049997"
190 id="stop3867" />
191 <stop
192 style="stop-color:#b4daea;stop-opacity:1"
193 offset="1"
194 id="stop3869" />
195 <a:midPointStop
196 style="stop-color:#6498C1"
197 offset="5.618000e-003" />
198 <a:midPointStop
199 style="stop-color:#6498C1"
200 offset="0.4438" />
201 <a:midPointStop
202 style="stop-color:#B4DAEA"
203 offset="1" />
204 </linearGradient>
205 <linearGradient
206 x1="516.57672"
207 y1="-15.769"
208 x2="516.57672"
209 y2="0.84280002"
210 id="XMLID_1753_"
211 gradientUnits="userSpaceOnUse"
212 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
213 <stop
214 style="stop-color:#b2b2b2;stop-opacity:1"
215 offset="0"
216 id="stop3851" />
217 <stop
218 style="stop-color:#f2f2f2;stop-opacity:1"
219 offset="1"
220 id="stop3853" />
221 <a:midPointStop
222 style="stop-color:#B2B2B2"
223 offset="0" />
224 <a:midPointStop
225 style="stop-color:#B2B2B2"
226 offset="0.5" />
227 <a:midPointStop
228 style="stop-color:#F2F2F2"
229 offset="1" />
230 </linearGradient>
231 <clipPath
232 id="XMLID_1751_">
233 <use
234 id="use3837"
235 x="0"
236 y="0"
237 width="744.09448"
238 height="600"
239 xlink:href="#XMLID_338_" />
240 </clipPath>
241 <linearGradient
242 x1="506.09909"
243 y1="-11.5137"
244 x2="527.99609"
245 y2="2.7063999"
246 id="XMLID_1752_"
247 gradientUnits="userSpaceOnUse"
248 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
249 <stop
250 style="stop-color:#b4daea;stop-opacity:1"
251 offset="0"
252 id="stop3840" />
253 <stop
254 style="stop-color:#b4daea;stop-opacity:1"
255 offset="0.51120001"
256 id="stop3842" />
257 <stop
258 style="stop-color:#5387ba;stop-opacity:1"
259 offset="0.64609998"
260 id="stop3844" />
261 <stop
262 style="stop-color:#16336e;stop-opacity:1"
263 offset="1"
264 id="stop3846" />
265 <a:midPointStop
266 style="stop-color:#B4DAEA"
267 offset="0" />
268 <a:midPointStop
269 style="stop-color:#B4DAEA"
270 offset="0.5" />
271 <a:midPointStop
272 style="stop-color:#B4DAEA"
273 offset="0.5112" />
274 <a:midPointStop
275 style="stop-color:#B4DAEA"
276 offset="0.5" />
277 <a:midPointStop
278 style="stop-color:#5387BA"
279 offset="0.6461" />
280 <a:midPointStop
281 style="stop-color:#5387BA"
282 offset="0.5" />
283 <a:midPointStop
284 style="stop-color:#16336E"
285 offset="1" />
286 </linearGradient>
287 <linearGradient
288 x1="468.2915"
289 y1="204.7612"
290 x2="479.39871"
291 y2="214.4166"
292 id="XMLID_1750_"
293 gradientUnits="userSpaceOnUse">
294 <stop
295 style="stop-color:#5387ba;stop-opacity:1"
296 offset="0"
297 id="stop3830" />
298 <stop
299 style="stop-color:#96bad6;stop-opacity:1"
300 offset="1"
301 id="stop3832" />
302 <a:midPointStop
303 style="stop-color:#5387BA"
304 offset="0" />
305 <a:midPointStop
306 style="stop-color:#5387BA"
307 offset="0.5" />
308 <a:midPointStop
309 style="stop-color:#96BAD6"
310 offset="1" />
311 </linearGradient>
312 <linearGradient
313 x1="502.70749"
314 y1="115.3013"
315 x2="516.39001"
316 y2="127.1953"
317 id="XMLID_1749_"
318 gradientUnits="userSpaceOnUse"
319 gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
320 <stop
321 style="stop-color:#5387ba;stop-opacity:1"
322 offset="0"
323 id="stop3818" />
324 <stop
325 style="stop-color:#96bad6;stop-opacity:1"
326 offset="1"
327 id="stop3820" />
328 <a:midPointStop
329 style="stop-color:#5387BA"
330 offset="0" />
331 <a:midPointStop
332 style="stop-color:#5387BA"
333 offset="0.5" />
334 <a:midPointStop
335 style="stop-color:#96BAD6"
336 offset="1" />
337 </linearGradient>
338 <linearGradient
339 x1="501.0903"
340 y1="-19.2544"
341 x2="531.85413"
342 y2="0.72390002"
343 id="XMLID_1748_"
344 gradientUnits="userSpaceOnUse"
345 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
346 <stop
347 style="stop-color:#b4daea;stop-opacity:1"
348 offset="0"
349 id="stop3803" />
350 <stop
351 style="stop-color:#b4daea;stop-opacity:1"
352 offset="0.51120001"
353 id="stop3805" />
354 <stop
355 style="stop-color:#5387ba;stop-opacity:1"
356 offset="0.64609998"
357 id="stop3807" />
358 <stop
359 style="stop-color:#16336e;stop-opacity:1"
360 offset="1"
361 id="stop3809" />
362 <a:midPointStop
363 style="stop-color:#B4DAEA"
364 offset="0" />
365 <a:midPointStop
366 style="stop-color:#B4DAEA"
367 offset="0.5" />
368 <a:midPointStop
369 style="stop-color:#B4DAEA"
370 offset="0.5112" />
371 <a:midPointStop
372 style="stop-color:#B4DAEA"
373 offset="0.5" />
374 <a:midPointStop
375 style="stop-color:#5387BA"
376 offset="0.6461" />
377 <a:midPointStop
378 style="stop-color:#5387BA"
379 offset="0.5" />
380 <a:midPointStop
381 style="stop-color:#16336E"
382 offset="1" />
383 </linearGradient>
384 <linearGradient
385 x1="481.23969"
386 y1="212.5742"
387 x2="472.92981"
388 y2="207.4967"
389 id="XMLID_2275_"
390 gradientUnits="userSpaceOnUse">
391 <stop
392 style="stop-color:#f3403f;stop-opacity:1"
393 offset="0"
394 id="stop9947" />
395 <stop
396 style="stop-color:#d02a28;stop-opacity:1"
397 offset="0.37889999"
398 id="stop9949" />
399 <stop
400 style="stop-color:#b21714;stop-opacity:1"
401 offset="0.77649999"
402 id="stop9951" />
403 <stop
404 style="stop-color:#a6100c;stop-opacity:1"
405 offset="1"
406 id="stop9953" />
407 <a:midPointStop
408 style="stop-color:#F3403F"
409 offset="0" />
410 <a:midPointStop
411 style="stop-color:#F3403F"
412 offset="0.4213" />
413 <a:midPointStop
414 style="stop-color:#A6100C"
415 offset="1" />
416 </linearGradient>
417 <clipPath
418 id="XMLID_2273_">
419 <use
420 id="use9933"
421 x="0"
422 y="0"
423 width="744.09448"
424 height="600"
425 xlink:href="#XMLID_960_" />
426 </clipPath>
427 <linearGradient
428 x1="473.7681"
429 y1="209.17529"
430 x2="486.98099"
431 y2="213.2001"
432 id="XMLID_2274_"
433 gradientUnits="userSpaceOnUse">
434 <stop
435 style="stop-color:#f3403f;stop-opacity:1"
436 offset="0"
437 id="stop9936" />
438 <stop
439 style="stop-color:#d02a28;stop-opacity:1"
440 offset="0.37889999"
441 id="stop9938" />
442 <stop
443 style="stop-color:#b21714;stop-opacity:1"
444 offset="0.77649999"
445 id="stop9940" />
446 <stop
447 style="stop-color:#a6100c;stop-opacity:1"
448 offset="1"
449 id="stop9942" />
450 <a:midPointStop
451 style="stop-color:#F3403F"
452 offset="0" />
453 <a:midPointStop
454 style="stop-color:#F3403F"
455 offset="0.4213" />
456 <a:midPointStop
457 style="stop-color:#A6100C"
458 offset="1" />
459 </linearGradient>
460 <linearGradient
461 x1="478.21341"
462 y1="-131.9297"
463 x2="469.85818"
464 y2="-140.28481"
465 id="XMLID_2272_"
466 gradientUnits="userSpaceOnUse"
467 gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
468 <stop
469 style="stop-color:#f3403f;stop-opacity:1"
470 offset="0"
471 id="stop9917" />
472 <stop
473 style="stop-color:#d02a28;stop-opacity:1"
474 offset="0.37889999"
475 id="stop9919" />
476 <stop
477 style="stop-color:#b21714;stop-opacity:1"
478 offset="0.77649999"
479 id="stop9921" />
480 <stop
481 style="stop-color:#a6100c;stop-opacity:1"
482 offset="1"
483 id="stop9923" />
484 <a:midPointStop
485 style="stop-color:#F3403F"
486 offset="0" />
487 <a:midPointStop
488 style="stop-color:#F3403F"
489 offset="0.4213" />
490 <a:midPointStop
491 style="stop-color:#A6100C"
492 offset="1" />
493 </linearGradient>
494 <marker
495 refX="0"
496 refY="0"
497 orient="auto"
498 style="overflow:visible"
499 id="TriangleInM">
500 <path
501 d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
502 transform="scale(-0.4,-0.4)"
503 style="fill:#5c5c4f"
504 id="path3197" />
505 </marker>
506 <linearGradient
507 x1="200.7363"
508 y1="100.4028"
509 x2="211.99519"
510 y2="89.143997"
511 id="XMLID_3298_"
512 gradientUnits="userSpaceOnUse">
513 <stop
514 style="stop-color:#bfbfbf;stop-opacity:1"
515 offset="0"
516 id="stop20103" />
517 <stop
518 style="stop-color:#f2f2f2;stop-opacity:1"
519 offset="1"
520 id="stop20105" />
521 <a:midPointStop
522 offset="0"
523 style="stop-color:#BFBFBF" />
524 <a:midPointStop
525 offset="0.5"
526 style="stop-color:#BFBFBF" />
527 <a:midPointStop
528 offset="1"
529 style="stop-color:#F2F2F2" />
530 </linearGradient>
531 <linearGradient
532 x1="200.7363"
533 y1="100.4028"
534 x2="211.99519"
535 y2="89.143997"
536 id="linearGradient36592"
537 xlink:href="#XMLID_3298_"
538 gradientUnits="userSpaceOnUse"
539 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
540 <linearGradient
541 x1="181.2925"
542 y1="110.8481"
543 x2="192.6369"
544 y2="99.5037"
545 id="XMLID_3297_"
546 gradientUnits="userSpaceOnUse">
547 <stop
548 style="stop-color:#e5e5e5;stop-opacity:1"
549 offset="0"
550 id="stop20096" />
551 <stop
552 style="stop-color:#ccc;stop-opacity:1"
553 offset="1"
554 id="stop20098" />
555 <a:midPointStop
556 offset="0"
557 style="stop-color:#E5E5E5" />
558 <a:midPointStop
559 offset="0.5"
560 style="stop-color:#E5E5E5" />
561 <a:midPointStop
562 offset="1"
563 style="stop-color:#CCCCCC" />
564 </linearGradient>
565 <linearGradient
566 x1="181.2925"
567 y1="110.8481"
568 x2="192.6369"
569 y2="99.5037"
570 id="linearGradient36595"
571 xlink:href="#XMLID_3297_"
572 gradientUnits="userSpaceOnUse"
573 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
574 <linearGradient
575 x1="211.77589"
576 y1="105.7749"
577 x2="212.6619"
578 y2="108.2092"
579 id="XMLID_3296_"
580 gradientUnits="userSpaceOnUse">
581 <stop
582 style="stop-color:#0f6124;stop-opacity:1"
583 offset="0"
584 id="stop20087" />
585 <stop
586 style="stop-color:#219630;stop-opacity:1"
587 offset="1"
588 id="stop20089" />
589 <a:midPointStop
590 offset="0"
591 style="stop-color:#0F6124" />
592 <a:midPointStop
593 offset="0.5"
594 style="stop-color:#0F6124" />
595 <a:midPointStop
596 offset="1"
597 style="stop-color:#219630" />
598 </linearGradient>
599 <linearGradient
600 x1="211.77589"
601 y1="105.7749"
602 x2="212.6619"
603 y2="108.2092"
604 id="linearGradient36677"
605 xlink:href="#XMLID_3296_"
606 gradientUnits="userSpaceOnUse"
607 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
608 <linearGradient
609 x1="208.9834"
610 y1="116.8296"
611 x2="200.0811"
612 y2="96.834602"
613 id="XMLID_3295_"
614 gradientUnits="userSpaceOnUse">
615 <stop
616 style="stop-color:#b2b2b2;stop-opacity:1"
617 offset="0"
618 id="stop20076" />
619 <stop
620 style="stop-color:#e5e5e5;stop-opacity:1"
621 offset="0.5"
622 id="stop20078" />
623 <stop
624 style="stop-color:white;stop-opacity:1"
625 offset="1"
626 id="stop20080" />
627 <a:midPointStop
628 offset="0"
629 style="stop-color:#B2B2B2" />
630 <a:midPointStop
631 offset="0.5"
632 style="stop-color:#B2B2B2" />
633 <a:midPointStop
634 offset="0.5"
635 style="stop-color:#E5E5E5" />
636 <a:midPointStop
637 offset="0.5"
638 style="stop-color:#E5E5E5" />
639 <a:midPointStop
640 offset="1"
641 style="stop-color:#FFFFFF" />
642 </linearGradient>
643 <linearGradient
644 x1="208.9834"
645 y1="116.8296"
646 x2="200.0811"
647 y2="96.834602"
648 id="linearGradient36604"
649 xlink:href="#XMLID_3295_"
650 gradientUnits="userSpaceOnUse"
651 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
652 <linearGradient
653 x1="195.5264"
654 y1="97.911102"
655 x2="213.5213"
656 y2="115.9061"
657 id="XMLID_3294_"
658 gradientUnits="userSpaceOnUse">
659 <stop
660 style="stop-color:#ccc;stop-opacity:1"
661 offset="0"
662 id="stop20069" />
663 <stop
664 style="stop-color:white;stop-opacity:1"
665 offset="1"
666 id="stop20071" />
667 <a:midPointStop
668 offset="0"
669 style="stop-color:#CCCCCC" />
670 <a:midPointStop
671 offset="0.5"
672 style="stop-color:#CCCCCC" />
673 <a:midPointStop
674 offset="1"
675 style="stop-color:#FFFFFF" />
676 </linearGradient>
677 <linearGradient
678 x1="195.5264"
679 y1="97.911102"
680 x2="213.5213"
681 y2="115.9061"
682 id="linearGradient36607"
683 xlink:href="#XMLID_3294_"
684 gradientUnits="userSpaceOnUse"
685 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
686 <linearGradient
687 x1="186.1938"
688 y1="109.1343"
689 x2="206.6881"
690 y2="88.639999"
691 id="XMLID_3293_"
692 gradientUnits="userSpaceOnUse">
693 <stop
694 style="stop-color:#b2b2b2;stop-opacity:1"
695 offset="0"
696 id="stop20056" />
697 <stop
698 style="stop-color:#e5e5e5;stop-opacity:1"
699 offset="0.16850001"
700 id="stop20058" />
701 <stop
702 style="stop-color:white;stop-opacity:1"
703 offset="0.23029999"
704 id="stop20060" />
705 <stop
706 style="stop-color:#e5e5e5;stop-opacity:1"
707 offset="0.2809"
708 id="stop20062" />
709 <stop
710 style="stop-color:#c2c2c2;stop-opacity:1"
711 offset="0.5"
712 id="stop20064" />
713 <a:midPointStop
714 offset="0"
715 style="stop-color:#B2B2B2" />
716 <a:midPointStop
717 offset="0.5"
718 style="stop-color:#B2B2B2" />
719 <a:midPointStop
720 offset="0.1685"
721 style="stop-color:#E5E5E5" />
722 <a:midPointStop
723 offset="0.5"
724 style="stop-color:#E5E5E5" />
725 <a:midPointStop
726 offset="0.2303"
727 style="stop-color:#FFFFFF" />
728 <a:midPointStop
729 offset="0.5"
730 style="stop-color:#FFFFFF" />
731 <a:midPointStop
732 offset="0.2809"
733 style="stop-color:#E5E5E5" />
734 <a:midPointStop
735 offset="0.5"
736 style="stop-color:#E5E5E5" />
737 <a:midPointStop
738 offset="0.5"
739 style="stop-color:#C2C2C2" />
740 </linearGradient>
741 <linearGradient
742 x1="186.1938"
743 y1="109.1343"
744 x2="206.6881"
745 y2="88.639999"
746 id="linearGradient36610"
747 xlink:href="#XMLID_3293_"
748 gradientUnits="userSpaceOnUse"
749 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
750 <linearGradient
751 x1="184.8569"
752 y1="112.2676"
753 x2="211.94099"
754 y2="89.541397"
755 id="XMLID_3292_"
756 gradientUnits="userSpaceOnUse">
757 <stop
758 style="stop-color:#b2b2b2;stop-opacity:1"
759 offset="0"
760 id="stop20043" />
761 <stop
762 style="stop-color:#e5e5e5;stop-opacity:1"
763 offset="0.16850001"
764 id="stop20045" />
765 <stop
766 style="stop-color:white;stop-opacity:1"
767 offset="0.23029999"
768 id="stop20047" />
769 <stop
770 style="stop-color:#e5e5e5;stop-opacity:1"
771 offset="0.2809"
772 id="stop20049" />
773 <stop
774 style="stop-color:#ccc;stop-opacity:1"
775 offset="1"
776 id="stop20051" />
777 <a:midPointStop
778 offset="0"
779 style="stop-color:#B2B2B2" />
780 <a:midPointStop
781 offset="0.5"
782 style="stop-color:#B2B2B2" />
783 <a:midPointStop
784 offset="0.1685"
785 style="stop-color:#E5E5E5" />
786 <a:midPointStop
787 offset="0.5"
788 style="stop-color:#E5E5E5" />
789 <a:midPointStop
790 offset="0.2303"
791 style="stop-color:#FFFFFF" />
792 <a:midPointStop
793 offset="0.5"
794 style="stop-color:#FFFFFF" />
795 <a:midPointStop
796 offset="0.2809"
797 style="stop-color:#E5E5E5" />
798 <a:midPointStop
799 offset="0.5"
800 style="stop-color:#E5E5E5" />
801 <a:midPointStop
802 offset="1"
803 style="stop-color:#CCCCCC" />
804 </linearGradient>
805 <linearGradient
806 x1="184.8569"
807 y1="112.2676"
808 x2="211.94099"
809 y2="89.541397"
810 id="linearGradient36613"
811 xlink:href="#XMLID_3292_"
812 gradientUnits="userSpaceOnUse"
813 gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
814 <marker
815 refX="0"
816 refY="0"
817 orient="auto"
818 style="overflow:visible"
819 id="TriangleOutM">
820 <path
821 d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
822 transform="scale(0.4,0.4)"
823 style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
824 id="path3238" />
825 </marker>
826 <linearGradient
827 x1="165.3"
828 y1="99.5"
829 x2="165.3"
830 y2="115.9"
831 id="XMLID_3457_"
832 gradientUnits="userSpaceOnUse">
833 <stop
834 style="stop-color:#999;stop-opacity:1"
835 offset="0"
836 id="stop8309" />
837 <stop
838 style="stop-color:#b2b2b2;stop-opacity:1"
839 offset="0.30000001"
840 id="stop8311" />
841 <stop
842 style="stop-color:#b2b2b2;stop-opacity:1"
843 offset="1"
844 id="stop8313" />
845 <a:midPointstop
846 offset="0"
847 style="stop-color:#999999" />
848 <a:midPointstop
849 offset="0.5"
850 style="stop-color:#999999" />
851 <a:midPointstop
852 offset="0.3"
853 style="stop-color:#B2B2B2" />
854 <a:midPointstop
855 offset="0.5"
856 style="stop-color:#B2B2B2" />
857 <a:midPointstop
858 offset="1"
859 style="stop-color:#B2B2B2" />
860 </linearGradient>
861 <linearGradient
862 x1="165.3"
863 y1="99.5"
864 x2="165.3"
865 y2="115.9"
866 id="lg1997"
867 xlink:href="#XMLID_3457_"
868 gradientUnits="userSpaceOnUse"
869 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
870 <linearGradient
871 x1="175"
872 y1="99.800003"
873 x2="175"
874 y2="112.5"
875 id="XMLID_3456_"
876 gradientUnits="userSpaceOnUse">
877 <stop
878 style="stop-color:#737373;stop-opacity:1"
879 offset="0"
880 id="stop8300" />
881 <stop
882 style="stop-color:#191919;stop-opacity:1"
883 offset="0.60000002"
884 id="stop8302" />
885 <stop
886 style="stop-color:#191919;stop-opacity:1"
887 offset="1"
888 id="stop8304" />
889 <a:midPointstop
890 offset="0"
891 style="stop-color:#737373" />
892 <a:midPointstop
893 offset="0.5"
894 style="stop-color:#737373" />
895 <a:midPointstop
896 offset="0.6"
897 style="stop-color:#191919" />
898 <a:midPointstop
899 offset="0.5"
900 style="stop-color:#191919" />
901 <a:midPointstop
902 offset="1"
903 style="stop-color:#191919" />
904 </linearGradient>
905 <linearGradient
906 x1="175"
907 y1="99.800003"
908 x2="175"
909 y2="112.5"
910 id="lg2000"
911 xlink:href="#XMLID_3456_"
912 gradientUnits="userSpaceOnUse"
913 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
914 <linearGradient
915 x1="168.8"
916 y1="107.1"
917 x2="164.5"
918 y2="110"
919 id="XMLID_3455_"
920 gradientUnits="userSpaceOnUse">
921 <stop
922 style="stop-color:#666;stop-opacity:1"
923 offset="0"
924 id="stop8291" />
925 <stop
926 style="stop-color:#191919;stop-opacity:1"
927 offset="0.69999999"
928 id="stop8293" />
929 <stop
930 style="stop-color:#191919;stop-opacity:1"
931 offset="1"
932 id="stop8295" />
933 <a:midPointstop
934 offset="0"
935 style="stop-color:#666666" />
936 <a:midPointstop
937 offset="0.5"
938 style="stop-color:#666666" />
939 <a:midPointstop
940 offset="0.7"
941 style="stop-color:#191919" />
942 <a:midPointstop
943 offset="0.5"
944 style="stop-color:#191919" />
945 <a:midPointstop
946 offset="1"
947 style="stop-color:#191919" />
948 </linearGradient>
949 <linearGradient
950 x1="168.8"
951 y1="107.1"
952 x2="164.5"
953 y2="110"
954 id="lg2003"
955 xlink:href="#XMLID_3455_"
956 gradientUnits="userSpaceOnUse"
957 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
958 <linearGradient
959 id="lg63694">
960 <stop
961 style="stop-color:white;stop-opacity:1"
962 offset="0"
963 id="stop63696" />
964 <stop
965 style="stop-color:white;stop-opacity:0"
966 offset="1"
967 id="stop63698" />
968 </linearGradient>
969 <linearGradient
970 x1="458"
971 y1="483"
972 x2="465.20001"
973 y2="271.39999"
974 id="lg2006"
975 xlink:href="#lg63694"
976 gradientUnits="userSpaceOnUse"
977 gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
978 <linearGradient
979 x1="176.3"
980 y1="110.1"
981 x2="158.7"
982 y2="105"
983 id="XMLID_3453_"
984 gradientUnits="userSpaceOnUse">
985 <stop
986 style="stop-color:#666;stop-opacity:1"
987 offset="0"
988 id="stop8271" />
989 <stop
990 style="stop-color:#737373;stop-opacity:1"
991 offset="0.2"
992 id="stop8273" />
993 <stop
994 style="stop-color:white;stop-opacity:1"
995 offset="1"
996 id="stop8275" />
997 <a:midPointstop
998 offset="0"
999 style="stop-color:#666666" />
1000 <a:midPointstop
1001 offset="0.5"
1002 style="stop-color:#666666" />
1003 <a:midPointstop
1004 offset="0.2"
1005 style="stop-color:#737373" />
1006 <a:midPointstop
1007 offset="0.5"
1008 style="stop-color:#737373" />
1009 <a:midPointstop
1010 offset="1"
1011 style="stop-color:#FFFFFF" />
1012 </linearGradient>
1013 <linearGradient
1014 x1="176.3"
1015 y1="110.1"
1016 x2="158.7"
1017 y2="105"
1018 id="lg2009"
1019 xlink:href="#XMLID_3453_"
1020 gradientUnits="userSpaceOnUse"
1021 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
1022 <linearGradient
1023 x1="173.60001"
1024 y1="118.9"
1025 x2="172.8"
1026 y2="128.2"
1027 id="XMLID_3449_"
1028 gradientUnits="userSpaceOnUse">
1029 <stop
1030 style="stop-color:#ecb300;stop-opacity:1"
1031 offset="0"
1032 id="stop8232" />
1033 <stop
1034 style="stop-color:#fff95e;stop-opacity:1"
1035 offset="0.60000002"
1036 id="stop8234" />
1037 <stop
1038 style="stop-color:#ecd600;stop-opacity:1"
1039 offset="1"
1040 id="stop8236" />
1041 <a:midPointstop
1042 offset="0"
1043 style="stop-color:#ECB300" />
1044 <a:midPointstop
1045 offset="0.5"
1046 style="stop-color:#ECB300" />
1047 <a:midPointstop
1048 offset="0.6"
1049 style="stop-color:#FFF95E" />
1050 <a:midPointstop
1051 offset="0.5"
1052 style="stop-color:#FFF95E" />
1053 <a:midPointstop
1054 offset="1"
1055 style="stop-color:#ECD600" />
1056 </linearGradient>
1057 <linearGradient
1058 x1="173.60001"
1059 y1="118.9"
1060 x2="172.8"
1061 y2="128.2"
1062 id="lg2016"
1063 xlink:href="#XMLID_3449_"
1064 gradientUnits="userSpaceOnUse"
1065 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
1066 <radialGradient
1067 cx="284.60001"
1068 cy="172.60001"
1069 r="6.5"
1070 fx="284.60001"
1071 fy="172.60001"
1072 id="XMLID_3448_"
1073 gradientUnits="userSpaceOnUse"
1074 gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
1075 <stop
1076 style="stop-color:#ecb300;stop-opacity:1"
1077 offset="0"
1078 id="stop8219" />
1079 <stop
1080 style="stop-color:#ecb300;stop-opacity:1"
1081 offset="0.30000001"
1082 id="stop8221" />
1083 <stop
1084 style="stop-color:#c96b00;stop-opacity:1"
1085 offset="0.89999998"
1086 id="stop8223" />
1087 <stop
1088 style="stop-color:#9a5500;stop-opacity:1"
1089 offset="1"
1090 id="stop8225" />
1091 <a:midPointstop
1092 offset="0"
1093 style="stop-color:#ECB300" />
1094 <a:midPointstop
1095 offset="0.5"
1096 style="stop-color:#ECB300" />
1097 <a:midPointstop
1098 offset="0.3"
1099 style="stop-color:#ECB300" />
1100 <a:midPointstop
1101 offset="0.5"
1102 style="stop-color:#ECB300" />
1103 <a:midPointstop
1104 offset="0.9"
1105 style="stop-color:#C96B00" />
1106 <a:midPointstop
1107 offset="0.5"
1108 style="stop-color:#C96B00" />
1109 <a:midPointstop
1110 offset="1"
1111 style="stop-color:#9A5500" />
1112 </radialGradient>
1113 <radialGradient
1114 cx="284.60001"
1115 cy="172.60001"
1116 r="6.5"
1117 fx="284.60001"
1118 fy="172.60001"
1119 id="rg2020"
1120 xlink:href="#XMLID_3448_"
1121 gradientUnits="userSpaceOnUse"
1122 gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)" />
1123 <linearGradient
1124 x1="158.10001"
1125 y1="123"
1126 x2="164.2"
1127 y2="126.6"
1128 id="XMLID_3447_"
1129 gradientUnits="userSpaceOnUse">
1130 <stop
1131 style="stop-color:#ecd600;stop-opacity:1"
1132 offset="0"
1133 id="stop8204" />
1134 <stop
1135 style="stop-color:#ffffb3;stop-opacity:1"
1136 offset="0.30000001"
1137 id="stop8206" />
1138 <stop
1139 style="stop-color:white;stop-opacity:1"
1140 offset="1"
1141 id="stop8208" />
1142 <a:midPointstop
1143 offset="0"
1144 style="stop-color:#ECD600" />
1145 <a:midPointstop
1146 offset="0.5"
1147 style="stop-color:#ECD600" />
1148 <a:midPointstop
1149 offset="0.3"
1150 style="stop-color:#FFFFB3" />
1151 <a:midPointstop
1152 offset="0.5"
1153 style="stop-color:#FFFFB3" />
1154 <a:midPointstop
1155 offset="1"
1156 style="stop-color:#FFFFFF" />
1157 </linearGradient>
1158 <linearGradient
1159 x1="158.10001"
1160 y1="123"
1161 x2="164.2"
1162 y2="126.6"
1163 id="lg2026"
1164 xlink:href="#XMLID_3447_"
1165 gradientUnits="userSpaceOnUse"
1166 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
1167 <radialGradient
1168 cx="280.89999"
1169 cy="163.7"
1170 r="10.1"
1171 fx="280.89999"
1172 fy="163.7"
1173 id="XMLID_3446_"
1174 gradientUnits="userSpaceOnUse"
1175 gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
1176 <stop
1177 style="stop-color:white;stop-opacity:1"
1178 offset="0"
1179 id="stop8197" />
1180 <stop
1181 style="stop-color:#fff95e;stop-opacity:1"
1182 offset="1"
1183 id="stop8199" />
1184 <a:midPointstop
1185 offset="0"
1186 style="stop-color:#FFFFFF" />
1187 <a:midPointstop
1188 offset="0.5"
1189 style="stop-color:#FFFFFF" />
1190 <a:midPointstop
1191 offset="1"
1192 style="stop-color:#FFF95E" />
1193 </radialGradient>
1194 <radialGradient
1195 cx="280.89999"
1196 cy="163.7"
1197 r="10.1"
1198 fx="280.89999"
1199 fy="163.7"
1200 id="rg2029"
1201 xlink:href="#XMLID_3446_"
1202 gradientUnits="userSpaceOnUse"
1203 gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
1204 <linearGradient
1205 x1="156.5"
1206 y1="122.7"
1207 x2="180.10001"
1208 y2="122.7"
1209 id="XMLID_3445_"
1210 gradientUnits="userSpaceOnUse">
1211 <stop
1212 style="stop-color:#ecb300;stop-opacity:1"
1213 offset="0"
1214 id="stop8184" />
1215 <stop
1216 style="stop-color:#ffe900;stop-opacity:1"
1217 offset="0.2"
1218 id="stop8186" />
1219 <stop
1220 style="stop-color:#ffffb3;stop-opacity:1"
1221 offset="0.30000001"
1222 id="stop8188" />
1223 <stop
1224 style="stop-color:#ffe900;stop-opacity:1"
1225 offset="0.40000001"
1226 id="stop8190" />
1227 <stop
1228 style="stop-color:#d68100;stop-opacity:1"
1229 offset="1"
1230 id="stop8192" />
1231 <a:midPointstop
1232 offset="0"
1233 style="stop-color:#ECB300" />
1234 <a:midPointstop
1235 offset="0.5"
1236 style="stop-color:#ECB300" />
1237 <a:midPointstop
1238 offset="0.2"
1239 style="stop-color:#FFE900" />
1240 <a:midPointstop
1241 offset="0.5"
1242 style="stop-color:#FFE900" />
1243 <a:midPointstop
1244 offset="0.3"
1245 style="stop-color:#FFFFB3" />
1246 <a:midPointstop
1247 offset="0.5"
1248 style="stop-color:#FFFFB3" />
1249 <a:midPointstop
1250 offset="0.4"
1251 style="stop-color:#FFE900" />
1252 <a:midPointstop
1253 offset="0.5"
1254 style="stop-color:#FFE900" />
1255 <a:midPointstop
1256 offset="1"
1257 style="stop-color:#D68100" />
1258 </linearGradient>
1259 <linearGradient
1260 x1="156.5"
1261 y1="122.7"
1262 x2="180.10001"
1263 y2="122.7"
1264 id="lg2032"
1265 xlink:href="#XMLID_3445_"
1266 gradientUnits="userSpaceOnUse"
1267 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
1268 <linearGradient
1269 x1="156.39999"
1270 y1="115.4"
1271 x2="180.10001"
1272 y2="115.4"
1273 id="XMLID_3444_"
1274 gradientUnits="userSpaceOnUse">
1275 <stop
1276 style="stop-color:#ecb300;stop-opacity:1"
1277 offset="0"
1278 id="stop8171" />
1279 <stop
1280 style="stop-color:#ffe900;stop-opacity:1"
1281 offset="0.2"
1282 id="stop8173" />
1283 <stop
1284 style="stop-color:#ffffb3;stop-opacity:1"
1285 offset="0.30000001"
1286 id="stop8175" />
1287 <stop
1288 style="stop-color:#ffe900;stop-opacity:1"
1289 offset="0.40000001"
1290 id="stop8177" />
1291 <stop
1292 style="stop-color:#d68100;stop-opacity:1"
1293 offset="1"
1294 id="stop8179" />
1295 <a:midPointstop
1296 offset="0"
1297 style="stop-color:#ECB300" />
1298 <a:midPointstop
1299 offset="0.5"
1300 style="stop-color:#ECB300" />
1301 <a:midPointstop
1302 offset="0.2"
1303 style="stop-color:#FFE900" />
1304 <a:midPointstop
1305 offset="0.5"
1306 style="stop-color:#FFE900" />
1307 <a:midPointstop
1308 offset="0.3"
1309 style="stop-color:#FFFFB3" />
1310 <a:midPointstop
1311 offset="0.5"
1312 style="stop-color:#FFFFB3" />
1313 <a:midPointstop
1314 offset="0.4"
1315 style="stop-color:#FFE900" />
1316 <a:midPointstop
1317 offset="0.5"
1318 style="stop-color:#FFE900" />
1319 <a:midPointstop
1320 offset="1"
1321 style="stop-color:#D68100" />
1322 </linearGradient>
1323 <linearGradient
1324 x1="156.39999"
1325 y1="115.4"
1326 x2="180.10001"
1327 y2="115.4"
1328 id="lg2035"
1329 xlink:href="#XMLID_3444_"
1330 gradientUnits="userSpaceOnUse"
1331 gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
1332 <linearGradient
1333 x1="379.70001"
1334 y1="167.89999"
1335 x2="383.89999"
1336 y2="172.89999"
1337 id="lg4286_"
1338 gradientUnits="userSpaceOnUse"
1339 gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
1340 <stop
1341 style="stop-color:white;stop-opacity:1"
1342 offset="0"
1343 id="s16159" />
1344 <stop
1345 style="stop-color:white;stop-opacity:1"
1346 offset="0.1"
1347 id="s16161" />
1348 <stop
1349 style="stop-color:#737373;stop-opacity:1"
1350 offset="1"
1351 id="s16163" />
1352 <ns:midPointStop
1353 style="stop-color:#FFFFFF"
1354 offset="0" />
1355 <ns:midPointStop
1356 style="stop-color:#FFFFFF"
1357 offset="0.5" />
1358 <ns:midPointStop
1359 style="stop-color:#FFFFFF"
1360 offset="0.1" />
1361 <ns:midPointStop
1362 style="stop-color:#FFFFFF"
1363 offset="0.5" />
1364 <ns:midPointStop
1365 style="stop-color:#737373"
1366 offset="1" />
1367 </linearGradient>
1368 <linearGradient
1369 x1="379.60001"
1370 y1="167.8"
1371 x2="383.79999"
1372 y2="172"
1373 id="lg6416"
1374 xlink:href="#lg4286_"
1375 gradientUnits="userSpaceOnUse"
1376 gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)" />
1377 <linearGradient
1378 x1="384.20001"
1379 y1="169.8"
1380 x2="384.79999"
1381 y2="170.39999"
1382 id="lg4285_"
1383 gradientUnits="userSpaceOnUse"
1384 gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
1385 <stop
1386 style="stop-color:#737373;stop-opacity:1"
1387 offset="0"
1388 id="s16152" />
1389 <stop
1390 style="stop-color:#d9d9d9;stop-opacity:1"
1391 offset="1"
1392 id="s16154" />
1393 <ns:midPointStop
1394 style="stop-color:#737373"
1395 offset="0" />
1396 <ns:midPointStop
1397 style="stop-color:#737373"
1398 offset="0.5" />
1399 <ns:midPointStop
1400 style="stop-color:#D9D9D9"
1401 offset="1" />
1402 </linearGradient>
1403 <linearGradient
1404 x1="384.20001"
1405 y1="169.8"
1406 x2="384.79999"
1407 y2="170.39999"
1408 id="lg6453"
1409 xlink:href="#lg4285_"
1410 gradientUnits="userSpaceOnUse"
1411 gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
1412 <linearGradient
1413 x1="380.5"
1414 y1="172.60001"
1415 x2="382.79999"
1416 y2="173.7"
1417 id="lg4284_"
1418 gradientUnits="userSpaceOnUse"
1419 gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
1420 <stop
1421 style="stop-color:gray;stop-opacity:1"
1422 offset="0"
1423 id="s16145" />
1424 <stop
1425 style="stop-color:#e5e5e5;stop-opacity:1"
1426 offset="1"
1427 id="s16147" />
1428 <ns:midPointStop
1429 style="stop-color:#808080"
1430 offset="0" />
1431 <ns:midPointStop
1432 style="stop-color:#808080"
1433 offset="0.5" />
1434 <ns:midPointStop
1435 style="stop-color:#E5E5E5"
1436 offset="1" />
1437 </linearGradient>
1438 <linearGradient
1439 x1="380.5"
1440 y1="172.60001"
1441 x2="382.79999"
1442 y2="173.7"
1443 id="lg6456"
1444 xlink:href="#lg4284_"
1445 gradientUnits="userSpaceOnUse"
1446 gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
1447 <radialGradient
1448 cx="347.29999"
1449 cy="244.5"
1450 r="5.1999998"
1451 fx="347.29999"
1452 fy="244.5"
1453 id="lg4282_"
1454 gradientUnits="userSpaceOnUse"
1455 gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
1456 <stop
1457 style="stop-color:#333;stop-opacity:1"
1458 offset="0"
1459 id="s16135" />
1460 <stop
1461 style="stop-color:#999;stop-opacity:1"
1462 offset="1"
1463 id="s16137" />
1464 <ns:midPointStop
1465 style="stop-color:#333333"
1466 offset="0" />
1467 <ns:midPointStop
1468 style="stop-color:#333333"
1469 offset="0.5" />
1470 <ns:midPointStop
1471 style="stop-color:#999999"
1472 offset="1" />
1473 </radialGradient>
1474 <linearGradient
1475 x1="310.39999"
1476 y1="397.70001"
1477 x2="310.89999"
1478 y2="399.5"
1479 id="lg4280_"
1480 gradientUnits="userSpaceOnUse"
1481 gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
1482 <stop
1483 style="stop-color:#ffcd00;stop-opacity:1"
1484 offset="0"
1485 id="s16111" />
1486 <stop
1487 style="stop-color:#ffffb3;stop-opacity:1"
1488 offset="0.60000002"
1489 id="s16113" />
1490 <stop
1491 style="stop-color:#ffffb3;stop-opacity:1"
1492 offset="1"
1493 id="s16115" />
1494 <ns:midPointStop
1495 style="stop-color:#FFCD00"
1496 offset="0" />
1497 <ns:midPointStop
1498 style="stop-color:#FFCD00"
1499 offset="0.5" />
1500 <ns:midPointStop
1501 style="stop-color:#FFFFB3"
1502 offset="0.6" />
1503 <ns:midPointStop
1504 style="stop-color:#FFFFB3"
1505 offset="0.5" />
1506 <ns:midPointStop
1507 style="stop-color:#FFFFB3"
1508 offset="1" />
1509 </linearGradient>
1510 <linearGradient
1511 x1="310.39999"
1512 y1="397.70001"
1513 x2="310.89999"
1514 y2="399.5"
1515 id="lg6467"
1516 xlink:href="#lg4280_"
1517 gradientUnits="userSpaceOnUse"
1518 gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
1519 <linearGradient
1520 x1="310.89999"
1521 y1="395.79999"
1522 x2="313.29999"
1523 y2="403.10001"
1524 id="lg4279_"
1525 gradientUnits="userSpaceOnUse"
1526 gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
1527 <stop
1528 style="stop-color:#ffffb3;stop-opacity:1"
1529 offset="0"
1530 id="s16100" />
1531 <stop
1532 style="stop-color:#ffffb3;stop-opacity:1"
1533 offset="0.40000001"
1534 id="s16102" />
1535 <stop
1536 style="stop-color:#ffcd00;stop-opacity:1"
1537 offset="0.89999998"
1538 id="s16104" />
1539 <stop
1540 style="stop-color:#ffcd00;stop-opacity:1"
1541 offset="1"
1542 id="s16106" />
1543 <ns:midPointStop
1544 style="stop-color:#FFFFB3"
1545 offset="0" />
1546 <ns:midPointStop
1547 style="stop-color:#FFFFB3"
1548 offset="0.5" />
1549 <ns:midPointStop
1550 style="stop-color:#FFFFB3"
1551 offset="0.4" />
1552 <ns:midPointStop
1553 style="stop-color:#FFFFB3"
1554 offset="0.5" />
1555 <ns:midPointStop
1556 style="stop-color:#FFCD00"
1557 offset="0.9" />
1558 <ns:midPointStop
1559 style="stop-color:#FFCD00"
1560 offset="0.5" />
1561 <ns:midPointStop
1562 style="stop-color:#FFCD00"
1563 offset="1" />
1564 </linearGradient>
1565 <linearGradient
1566 x1="310.89999"
1567 y1="395.79999"
1568 x2="313.29999"
1569 y2="403.10001"
1570 id="lg6465"
1571 xlink:href="#lg4279_"
1572 gradientUnits="userSpaceOnUse"
1573 gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
1574 <linearGradient
1575 x1="307.79999"
1576 y1="395.20001"
1577 x2="313.79999"
1578 y2="413.60001"
1579 id="lg4278_"
1580 gradientUnits="userSpaceOnUse"
1581 gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
1582 <stop
1583 style="stop-color:#ffffb3;stop-opacity:1"
1584 offset="0"
1585 id="s16091" />
1586 <stop
1587 style="stop-color:#fcd72f;stop-opacity:1"
1588 offset="0.40000001"
1589 id="s16093" />
1590 <stop
1591 style="stop-color:#ffcd00;stop-opacity:1"
1592 offset="1"
1593 id="s16095" />
1594 <ns:midPointStop
1595 style="stop-color:#FFFFB3"
1596 offset="0" />
1597 <ns:midPointStop
1598 style="stop-color:#FFFFB3"
1599 offset="0.5" />
1600 <ns:midPointStop
1601 style="stop-color:#FCD72F"
1602 offset="0.4" />
1603 <ns:midPointStop
1604 style="stop-color:#FCD72F"
1605 offset="0.5" />
1606 <ns:midPointStop
1607 style="stop-color:#FFCD00"
1608 offset="1" />
1609 </linearGradient>
1610 <linearGradient
1611 x1="306.5"
1612 y1="393"
1613 x2="309"
1614 y2="404"
1615 id="lg6400"
1616 xlink:href="#lg4278_"
1617 gradientUnits="userSpaceOnUse"
1618 gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
1619 <linearGradient
1620 x1="352.10001"
1621 y1="253.60001"
1622 x2="348.5"
1623 y2="237.8"
1624 id="lg4276_"
1625 gradientUnits="userSpaceOnUse"
1626 gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
1627 <stop
1628 style="stop-color:#ffff87;stop-opacity:1"
1629 offset="0"
1630 id="s16077" />
1631 <stop
1632 style="stop-color:#ffad00;stop-opacity:1"
1633 offset="1"
1634 id="s16079" />
1635 <ns:midPointStop
1636 style="stop-color:#FFFF87"
1637 offset="0" />
1638 <ns:midPointStop
1639 style="stop-color:#FFFF87"
1640 offset="0.5" />
1641 <ns:midPointStop
1642 style="stop-color:#FFAD00"
1643 offset="1" />
1644 </linearGradient>
1645 <linearGradient
1646 x1="335.60001"
1647 y1="354.79999"
1648 x2="337.89999"
1649 y2="354.79999"
1650 id="lg4275_"
1651 gradientUnits="userSpaceOnUse"
1652 gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
1653 <stop
1654 style="stop-color:#d9d9d9;stop-opacity:1"
1655 offset="0"
1656 id="s16057" />
1657 <stop
1658 style="stop-color:white;stop-opacity:1"
1659 offset="0.80000001"
1660 id="s16059" />
1661 <stop
1662 style="stop-color:white;stop-opacity:1"
1663 offset="1"
1664 id="s16061" />
1665 <ns:midPointStop
1666 style="stop-color:#D9D9D9"
1667 offset="0" />
1668 <ns:midPointStop
1669 style="stop-color:#D9D9D9"
1670 offset="0.5" />
1671 <ns:midPointStop
1672 style="stop-color:#FFFFFF"
1673 offset="0.8" />
1674 <ns:midPointStop
1675 style="stop-color:#FFFFFF"
1676 offset="0.5" />
1677 <ns:midPointStop
1678 style="stop-color:#FFFFFF"
1679 offset="1" />
1680 </linearGradient>
1681 <linearGradient
1682 x1="335.60001"
1683 y1="354.79999"
1684 x2="337.89999"
1685 y2="354.79999"
1686 id="lg6463"
1687 xlink:href="#lg4275_"
1688 gradientUnits="userSpaceOnUse"
1689 gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
1690 <linearGradient
1691 x1="337.39999"
1692 y1="353.10001"
1693 x2="339.39999"
1694 y2="357.10001"
1695 id="lg4274_"
1696 gradientUnits="userSpaceOnUse"
1697 gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
1698 <stop
1699 style="stop-color:white;stop-opacity:1"
1700 offset="0"
1701 id="s16048" />
1702 <stop
1703 style="stop-color:white;stop-opacity:1"
1704 offset="0.1"
1705 id="s16050" />
1706 <stop
1707 style="stop-color:#ccc;stop-opacity:1"
1708 offset="1"
1709 id="s16052" />
1710 <ns:midPointStop
1711 style="stop-color:#FFFFFF"
1712 offset="0" />
1713 <ns:midPointStop
1714 style="stop-color:#FFFFFF"
1715 offset="0.5" />
1716 <ns:midPointStop
1717 style="stop-color:#FFFFFF"
1718 offset="0.1" />
1719 <ns:midPointStop
1720 style="stop-color:#FFFFFF"
1721 offset="0.5" />
1722 <ns:midPointStop
1723 style="stop-color:#CCCCCC"
1724 offset="1" />
1725 </linearGradient>
1726 <linearGradient
1727 x1="337.39999"
1728 y1="353.10001"
1729 x2="339.39999"
1730 y2="357.10001"
1731 id="lg6461"
1732 xlink:href="#lg4274_"
1733 gradientUnits="userSpaceOnUse"
1734 gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
1735 <linearGradient
1736 x1="334.39999"
1737 y1="355.5"
1738 x2="335.5"
1739 y2="356.79999"
1740 id="lg4273_"
1741 gradientUnits="userSpaceOnUse"
1742 gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
1743 <stop
1744 style="stop-color:white;stop-opacity:1"
1745 offset="0"
1746 id="s16041" />
1747 <stop
1748 style="stop-color:#ccc;stop-opacity:1"
1749 offset="1"
1750 id="s16043" />
1751 <ns:midPointStop
1752 style="stop-color:#FFFFFF"
1753 offset="5.6e-003" />
1754 <ns:midPointStop
1755 style="stop-color:#FFFFFF"
1756 offset="0.5" />
1757 <ns:midPointStop
1758 style="stop-color:#CCCCCC"
1759 offset="1" />
1760 </linearGradient>
1761 <linearGradient
1762 x1="334.39999"
1763 y1="355.5"
1764 x2="335.5"
1765 y2="356.79999"
1766 id="lg6381"
1767 xlink:href="#lg4273_"
1768 gradientUnits="userSpaceOnUse"
1769 gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
1770 <linearGradient
1771 x1="348.39999"
1772 y1="247.39999"
1773 x2="354.10001"
1774 y2="242"
1775 id="lg4271_"
1776 gradientUnits="userSpaceOnUse"
1777 gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
1778 <stop
1779 style="stop-color:#f2f2f2;stop-opacity:1"
1780 offset="0"
1781 id="s16025" />
1782 <stop
1783 style="stop-color:#9e9e9e;stop-opacity:1"
1784 offset="0.40000001"
1785 id="s16027" />
1786 <stop
1787 style="stop-color:black;stop-opacity:1"
1788 offset="1"
1789 id="s16029" />
1790 <ns:midPointStop
1791 style="stop-color:#F2F2F2"
1792 offset="0" />
1793 <ns:midPointStop
1794 style="stop-color:#F2F2F2"
1795 offset="0.5" />
1796 <ns:midPointStop
1797 style="stop-color:#000000"
1798 offset="1" />
1799 </linearGradient>
1800 <linearGradient
1801 x1="351.29999"
1802 y1="257.29999"
1803 x2="346.29999"
1804 y2="235.5"
1805 id="lg4270_"
1806 gradientUnits="userSpaceOnUse">
1807 <stop
1808 style="stop-color:#ffff87;stop-opacity:1"
1809 offset="0"
1810 id="s16007" />
1811 <stop
1812 style="stop-color:#ffad00;stop-opacity:1"
1813 offset="1"
1814 id="s16009" />
1815 <ns:midPointStop
1816 style="stop-color:#FFFF87"
1817 offset="0" />
1818 <ns:midPointStop
1819 style="stop-color:#FFFF87"
1820 offset="0.5" />
1821 <ns:midPointStop
1822 style="stop-color:#FFAD00"
1823 offset="1" />
1824 </linearGradient>
1825 <linearGradient
1826 x1="351.29999"
1827 y1="257.29999"
1828 x2="346.29999"
1829 y2="235.5"
1830 id="lg6459"
1831 xlink:href="#lg4270_"
1832 gradientUnits="userSpaceOnUse"
1833 gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
1834 <linearGradient
1835 x1="43.799999"
1836 y1="32.5"
1837 x2="63.299999"
1838 y2="66.400002"
1839 id="XMLID_2708_"
1840 gradientUnits="userSpaceOnUse">
1841 <stop
1842 style="stop-color:white;stop-opacity:1"
1843 offset="0"
1844 id="stop75318" />
1845 <stop
1846 style="stop-color:#fffcea;stop-opacity:1"
1847 offset="1"
1848 id="stop75320" />
1849 <a:midPointStop
1850 style="stop-color:#FFFFFF"
1851 offset="0" />
1852 <a:midPointStop
1853 style="stop-color:#FFFFFF"
1854 offset="0.5" />
1855 <a:midPointStop
1856 style="stop-color:#FFFCEA"
1857 offset="1" />
1858 </linearGradient>
1859 <linearGradient
1860 x1="43.799999"
1861 y1="32.5"
1862 x2="63.299999"
1863 y2="66.400002"
1864 id="lg1907"
1865 xlink:href="#XMLID_2708_"
1866 gradientUnits="userSpaceOnUse"
1867 gradientTransform="translate(-29,-22.6)" />
1868 <linearGradient
1869 x1="52.5"
1870 y1="40.400002"
1871 x2="58.200001"
1872 y2="64"
1873 id="XMLID_2707_"
1874 gradientUnits="userSpaceOnUse">
1875 <stop
1876 style="stop-color:#ffdea0;stop-opacity:1"
1877 offset="0"
1878 id="stop75305" />
1879 <stop
1880 style="stop-color:#ffd89e;stop-opacity:1"
1881 offset="0.30000001"
1882 id="stop75307" />
1883 <stop
1884 style="stop-color:#ffd79e;stop-opacity:1"
1885 offset="0.30000001"
1886 id="stop75309" />
1887 <stop
1888 style="stop-color:#dbaf6d;stop-opacity:1"
1889 offset="0.69999999"
1890 id="stop75311" />
1891 <stop
1892 style="stop-color:#6f4c24;stop-opacity:1"
1893 offset="1"
1894 id="stop75313" />
1895 <a:midPointStop
1896 style="stop-color:#FFDEA0"
1897 offset="0" />
1898 <a:midPointStop
1899 style="stop-color:#FFDEA0"
1900 offset="0.6" />
1901 <a:midPointStop
1902 style="stop-color:#FFD79E"
1903 offset="0.3" />
1904 <a:midPointStop
1905 style="stop-color:#FFD79E"
1906 offset="0.5" />
1907 <a:midPointStop
1908 style="stop-color:#DBAF6D"
1909 offset="0.7" />
1910 <a:midPointStop
1911 style="stop-color:#DBAF6D"
1912 offset="0.5" />
1913 <a:midPointStop
1914 style="stop-color:#6F4C24"
1915 offset="1" />
1916 </linearGradient>
1917 <linearGradient
1918 x1="52.5"
1919 y1="40.400002"
1920 x2="58.200001"
1921 y2="64"
1922 id="lg1910"
1923 xlink:href="#XMLID_2707_"
1924 gradientUnits="userSpaceOnUse"
1925 gradientTransform="translate(-29,-22.6)" />
1926 <linearGradient
1927 x1="58"
1928 y1="73.199997"
1929 x2="44.5"
1930 y2="19"
1931 id="XMLID_2704_"
1932 gradientUnits="userSpaceOnUse"
1933 gradientTransform="translate(-29,-22.6)">
1934 <stop
1935 style="stop-color:#d4a96c;stop-opacity:1"
1936 offset="0.5"
1937 id="stop75284" />
1938 <stop
1939 style="stop-color:#dcb273;stop-opacity:1"
1940 offset="0.60000002"
1941 id="stop75286" />
1942 <stop
1943 style="stop-color:#f0ca87;stop-opacity:1"
1944 offset="0.80000001"
1945 id="stop75288" />
1946 <stop
1947 style="stop-color:#ffdc96;stop-opacity:1"
1948 offset="0.69999999"
1949 id="stop75290" />
1950 <stop
1951 style="stop-color:#c18a42;stop-opacity:1"
1952 offset="1"
1953 id="stop75292" />
1954 <a:midPointStop
1955 style="stop-color:#D4A96C"
1956 offset="0.5" />
1957 <a:midPointStop
1958 style="stop-color:#D4A96C"
1959 offset="0.6" />
1960 <a:midPointStop
1961 style="stop-color:#FFDC96"
1962 offset="0.7" />
1963 <a:midPointStop
1964 style="stop-color:#FFDC96"
1965 offset="0.5" />
1966 <a:midPointStop
1967 style="stop-color:#C18A42"
1968 offset="1" />
1969 </linearGradient>
1970 <linearGradient
1971 x1="53.700001"
1972 y1="32"
1973 x2="53.700001"
1974 y2="64.599998"
1975 id="XMLID_2703_"
1976 gradientUnits="userSpaceOnUse">
1977 <stop
1978 style="stop-color:#e5c9b0;stop-opacity:1"
1979 offset="0"
1980 id="stop75268" />
1981 <stop
1982 style="stop-color:#e5c9b0;stop-opacity:1"
1983 offset="0.40000001"
1984 id="stop75270" />
1985 <stop
1986 style="stop-color:#c0aa94;stop-opacity:1"
1987 offset="1"
1988 id="stop75272" />
1989 <a:midPointStop
1990 style="stop-color:#E5C9B0"
1991 offset="0" />
1992 <a:midPointStop
1993 style="stop-color:#E5C9B0"
1994 offset="0.5" />
1995 <a:midPointStop
1996 style="stop-color:#E5C9B0"
1997 offset="0.4" />
1998 <a:midPointStop
1999 style="stop-color:#E5C9B0"
2000 offset="0.5" />
2001 <a:midPointStop
2002 style="stop-color:#C0AA94"
2003 offset="1" />
2004 </linearGradient>
2005 <linearGradient
2006 x1="53.700001"
2007 y1="32"
2008 x2="53.700001"
2009 y2="64.599998"
2010 id="lg1916"
2011 xlink:href="#XMLID_2703_"
2012 gradientUnits="userSpaceOnUse"
2013 gradientTransform="translate(-29,-22.6)" />
2014 <linearGradient
2015 x1="224.31"
2016 y1="19.450001"
2017 x2="214.33"
2018 y2="11.46"
2019 id="XMLID_419_"
2020 gradientUnits="userSpaceOnUse">
2021 <stop
2022 style="stop-color:#404040;stop-opacity:1"
2023 offset="0"
2024 id="s1903" />
2025 <stop
2026 style="stop-color:#6d6d6d;stop-opacity:1"
2027 offset="0.33000001"
2028 id="s1905" />
2029 <stop
2030 style="stop-color:#e9e9e9;stop-opacity:1"
2031 offset="1"
2032 id="s1907" />
2033 <a:midPointStop
2034 offset="0"
2035 style="stop-color:#404040" />
2036 <a:midPointStop
2037 offset="0.5"
2038 style="stop-color:#404040" />
2039 <a:midPointStop
2040 offset="0.33"
2041 style="stop-color:#6D6D6D" />
2042 <a:midPointStop
2043 offset="0.5"
2044 style="stop-color:#6D6D6D" />
2045 <a:midPointStop
2046 offset="1"
2047 style="stop-color:#E9E9E9" />
2048 </linearGradient>
2049 <linearGradient
2050 x1="221.84"
2051 y1="32.779999"
2052 x2="212.2"
2053 y2="20.27"
2054 id="lg1988"
2055 xlink:href="#XMLID_419_"
2056 gradientUnits="userSpaceOnUse"
2057 gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
2058 <linearGradient
2059 x1="228.35001"
2060 y1="33.279999"
2061 x2="215.42999"
2062 y2="33.279999"
2063 id="lg1900"
2064 gradientUnits="userSpaceOnUse">
2065 <stop
2066 style="stop-color:white;stop-opacity:1"
2067 offset="0"
2068 id="s1902" />
2069 <stop
2070 style="stop-color:white;stop-opacity:0"
2071 offset="1"
2072 id="s1906" />
2073 <a:midPointStop
2074 style="stop-color:#575757"
2075 offset="0" />
2076 <a:midPointStop
2077 style="stop-color:#575757"
2078 offset="0.5" />
2079 <a:midPointStop
2080 style="stop-color:#6D6D6D"
2081 offset="0.33" />
2082 <a:midPointStop
2083 style="stop-color:#6D6D6D"
2084 offset="0.5" />
2085 <a:midPointStop
2086 style="stop-color:#D3D3D3"
2087 offset="1" />
2088 </linearGradient>
2089 <linearGradient
2090 x1="234.81"
2091 y1="33.279999"
2092 x2="228.27"
2093 y2="33.279999"
2094 id="lg1908"
2095 xlink:href="#lg1900"
2096 gradientUnits="userSpaceOnUse"
2097 gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
2098 <linearGradient
2099 x1="228.35001"
2100 y1="33.279999"
2101 x2="215.42999"
2102 y2="33.279999"
2103 id="XMLID_416_"
2104 gradientUnits="userSpaceOnUse">
2105 <stop
2106 style="stop-color:#575757;stop-opacity:1"
2107 offset="0"
2108 id="s1874" />
2109 <stop
2110 style="stop-color:#6d6d6d;stop-opacity:1"
2111 offset="0.33000001"
2112 id="s1876" />
2113 <stop
2114 style="stop-color:#d3d3d3;stop-opacity:1"
2115 offset="1"
2116 id="s1878" />
2117 <a:midPointStop
2118 offset="0"
2119 style="stop-color:#575757" />
2120 <a:midPointStop
2121 offset="0.5"
2122 style="stop-color:#575757" />
2123 <a:midPointStop
2124 offset="0.33"
2125 style="stop-color:#6D6D6D" />
2126 <a:midPointStop
2127 offset="0.5"
2128 style="stop-color:#6D6D6D" />
2129 <a:midPointStop
2130 offset="1"
2131 style="stop-color:#D3D3D3" />
2132 </linearGradient>
2133 <linearGradient
2134 x1="228.35001"
2135 y1="33.279999"
2136 x2="215.42999"
2137 y2="33.279999"
2138 id="lg1991"
2139 xlink:href="#XMLID_416_"
2140 gradientUnits="userSpaceOnUse"
2141 gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
2142 <radialGradient
2143 cx="603.19"
2144 cy="230.77"
2145 r="1.67"
2146 fx="603.19"
2147 fy="230.77"
2148 id="x5010_"
2149 gradientUnits="userSpaceOnUse"
2150 gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
2151 <stop
2152 style="stop-color:#c9ffc9;stop-opacity:1"
2153 offset="0"
2154 id="stop29201" />
2155 <stop
2156 style="stop-color:#23a11f;stop-opacity:1"
2157 offset="1"
2158 id="stop29203" />
2159 <a:midPointStop
2160 offset="0"
2161 style="stop-color:#C9FFC9" />
2162 <a:midPointStop
2163 offset="0.5"
2164 style="stop-color:#C9FFC9" />
2165 <a:midPointStop
2166 offset="1"
2167 style="stop-color:#23A11F" />
2168 </radialGradient>
2169 <radialGradient
2170 cx="603.19"
2171 cy="230.77"
2172 r="1.67"
2173 fx="603.19"
2174 fy="230.77"
2175 id="radialGradient5711"
2176 xlink:href="#x5010_"
2177 gradientUnits="userSpaceOnUse"
2178 gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
2179 <linearGradient
2180 x1="592.31"
2181 y1="162.60001"
2182 x2="609.32001"
2183 y2="145.59"
2184 id="lg5722"
2185 xlink:href="#x5003_"
2186 gradientUnits="userSpaceOnUse"
2187 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
2188 <linearGradient
2189 x1="601.48999"
2190 y1="170.16"
2191 x2="613.84003"
2192 y2="170.16"
2193 id="x5002_"
2194 gradientUnits="userSpaceOnUse">
2195 <stop
2196 style="stop-color:#d9d9d9;stop-opacity:1"
2197 offset="0"
2198 id="stop29134" />
2199 <stop
2200 style="stop-color:white;stop-opacity:1"
2201 offset="0.2"
2202 id="stop29136" />
2203 <stop
2204 style="stop-color:#999;stop-opacity:1"
2205 offset="1"
2206 id="stop29138" />
2207 <a:midPointStop
2208 offset="0"
2209 style="stop-color:#D9D9D9" />
2210 <a:midPointStop
2211 offset="0.5"
2212 style="stop-color:#D9D9D9" />
2213 <a:midPointStop
2214 offset="0.20"
2215 style="stop-color:#FFFFFF" />
2216 <a:midPointStop
2217 offset="0.5"
2218 style="stop-color:#FFFFFF" />
2219 <a:midPointStop
2220 offset="1"
2221 style="stop-color:#999999" />
2222 </linearGradient>
2223 <linearGradient
2224 x1="601.48999"
2225 y1="170.16"
2226 x2="613.84003"
2227 y2="170.16"
2228 id="lg5725"
2229 xlink:href="#x5002_"
2230 gradientUnits="userSpaceOnUse"
2231 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
2232 <linearGradient
2233 x1="592.20001"
2234 y1="156.45"
2235 x2="609.98999"
2236 y2="174.23"
2237 id="x5004_"
2238 gradientUnits="userSpaceOnUse"
2239 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
2240 <stop
2241 style="stop-color:#d9d9d9;stop-opacity:1"
2242 offset="0"
2243 id="stop29157" />
2244 <stop
2245 style="stop-color:white;stop-opacity:1"
2246 offset="1"
2247 id="stop29159" />
2248 <a:midPointStop
2249 offset="0"
2250 style="stop-color:#D9D9D9" />
2251 <a:midPointStop
2252 offset="0.5"
2253 style="stop-color:#D9D9D9" />
2254 <a:midPointStop
2255 offset="1"
2256 style="stop-color:#FFFFFF" />
2257 </linearGradient>
2258 <linearGradient
2259 x1="592.20001"
2260 y1="156.45"
2261 x2="609.98999"
2262 y2="174.23"
2263 id="lg5728"
2264 xlink:href="#x5004_"
2265 gradientUnits="userSpaceOnUse"
2266 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
2267 <linearGradient
2268 x1="592.31"
2269 y1="162.60001"
2270 x2="609.32001"
2271 y2="145.59"
2272 id="x5003_"
2273 gradientUnits="userSpaceOnUse">
2274 <stop
2275 style="stop-color:#f2f2f2;stop-opacity:1"
2276 offset="0"
2277 id="stop29143" />
2278 <stop
2279 style="stop-color:#e5e5e5;stop-opacity:1"
2280 offset="1"
2281 id="stop29145" />
2282 <a:midPointStop
2283 offset="0"
2284 style="stop-color:#F2F2F2" />
2285 <a:midPointStop
2286 offset="0.5"
2287 style="stop-color:#F2F2F2" />
2288 <a:midPointStop
2289 offset="1"
2290 style="stop-color:#E5E5E5" />
2291 </linearGradient>
2292 <linearGradient
2293 x1="592.31"
2294 y1="162.60001"
2295 x2="609.32001"
2296 y2="145.59"
2297 id="lg5732"
2298 xlink:href="#x5003_"
2299 gradientUnits="userSpaceOnUse"
2300 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
2301 <linearGradient
2302 x1="592.20001"
2303 y1="156.45"
2304 x2="609.98999"
2305 y2="174.24001"
2306 id="x5000_"
2307 gradientUnits="userSpaceOnUse"
2308 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
2309 <stop
2310 style="stop-color:#d9d9d9;stop-opacity:1"
2311 offset="0"
2312 id="stop29124" />
2313 <stop
2314 style="stop-color:white;stop-opacity:1"
2315 offset="1"
2316 id="stop29126" />
2317 <a:midPointStop
2318 offset="0"
2319 style="stop-color:#D9D9D9" />
2320 <a:midPointStop
2321 offset="0.5"
2322 style="stop-color:#D9D9D9" />
2323 <a:midPointStop
2324 offset="1"
2325 style="stop-color:#FFFFFF" />
2326 </linearGradient>
2327 <linearGradient
2328 x1="592.20001"
2329 y1="156.45"
2330 x2="609.98999"
2331 y2="174.24001"
2332 id="lg5735"
2333 xlink:href="#x5000_"
2334 gradientUnits="userSpaceOnUse"
2335 gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
2336 <linearGradient
2337 x1="308.54999"
2338 y1="149.89999"
2339 x2="299.72"
2340 y2="148.83"
2341 id="XMLID_2433_"
2342 gradientUnits="userSpaceOnUse">
2343 <stop
2344 style="stop-color:#d6d6d6;stop-opacity:1"
2345 offset="0"
2346 id="71615" />
2347 <stop
2348 style="stop-color:#a5a5a5;stop-opacity:1"
2349 offset="1"
2350 id="71617" />
2351 <a:midPointStop
2352 offset="0"
2353 style="stop-color:#D6D6D6" />
2354 <a:midPointStop
2355 offset="0.5"
2356 style="stop-color:#D6D6D6" />
2357 <a:midPointStop
2358 offset="1"
2359 style="stop-color:#A5A5A5" />
2360 </linearGradient>
2361 <linearGradient
2362 x1="308.54999"
2363 y1="149.89999"
2364 x2="299.72"
2365 y2="148.83"
2366 id="lg1952"
2367 xlink:href="#XMLID_2433_"
2368 gradientUnits="userSpaceOnUse"
2369 gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
2370 <radialGradient
2371 cx="307.39999"
2372 cy="121"
2373 r="23.35"
2374 fx="307.39999"
2375 fy="121"
2376 id="XMLID_2432_"
2377 gradientUnits="userSpaceOnUse"
2378 gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
2379 <stop
2380 style="stop-color:#d2d2d2;stop-opacity:1"
2381 offset="0.19"
2382 id="71592" />
2383 <stop
2384 style="stop-color:#cfcfcf;stop-opacity:1"
2385 offset="0.44999999"
2386 id="71594" />
2387 <stop
2388 style="stop-color:#c7c7c7;stop-opacity:1"
2389 offset="0.60000002"
2390 id="71596" />
2391 <stop
2392 style="stop-color:#b9b9b9;stop-opacity:1"
2393 offset="0.74000001"
2394 id="71598" />
2395 <stop
2396 style="stop-color:#a4a4a4;stop-opacity:1"
2397 offset="0.86000001"
2398 id="71600" />
2399 <stop
2400 style="stop-color:#8a8a8a;stop-opacity:1"
2401 offset="0.95999998"
2402 id="71602" />
2403 <stop
2404 style="stop-color:gray;stop-opacity:1"
2405 offset="1"
2406 id="71604" />
2407 <a:midPointStop
2408 offset="0.19"
2409 style="stop-color:#D2D2D2" />
2410 <a:midPointStop
2411 offset="0.8"
2412 style="stop-color:#D2D2D2" />
2413 <a:midPointStop
2414 offset="1"
2415 style="stop-color:#808080" />
2416 </radialGradient>
2417 <radialGradient
2418 cx="307.39999"
2419 cy="121"
2420 r="23.35"
2421 fx="307.39999"
2422 fy="121"
2423 id="radialGradient2331"
2424 xlink:href="#XMLID_2432_"
2425 gradientUnits="userSpaceOnUse"
2426 gradientTransform="translate(-276.62,-121.54)" />
2427 <linearGradient
2428 x1="294.13"
2429 y1="127.07"
2430 x2="294.13"
2431 y2="142.2"
2432 id="XMLID_2430_"
2433 gradientUnits="userSpaceOnUse">
2434 <stop
2435 style="stop-color:#b5d8ff;stop-opacity:1"
2436 offset="0"
2437 id="71582" />
2438 <stop
2439 style="stop-color:black;stop-opacity:1"
2440 offset="1"
2441 id="71584" />
2442 <a:midPointStop
2443 offset="0"
2444 style="stop-color:#B5D8FF" />
2445 <a:midPointStop
2446 offset="0.5"
2447 style="stop-color:#B5D8FF" />
2448 <a:midPointStop
2449 offset="1"
2450 style="stop-color:#000000" />
2451 </linearGradient>
2452 <linearGradient
2453 x1="294.13"
2454 y1="127.07"
2455 x2="294.13"
2456 y2="142.2"
2457 id="lg2820"
2458 xlink:href="#XMLID_2430_"
2459 gradientUnits="userSpaceOnUse"
2460 gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
2461 <linearGradient
2462 x1="279.10999"
2463 y1="148.03"
2464 x2="309.16"
2465 y2="148.03"
2466 id="XMLID_2429_"
2467 gradientUnits="userSpaceOnUse">
2468 <stop
2469 style="stop-color:#e1e1e1;stop-opacity:1"
2470 offset="0"
2471 id="71564" />
2472 <stop
2473 style="stop-color:#e1e1e1;stop-opacity:1"
2474 offset="0.25"
2475 id="71566" />
2476 <stop
2477 style="stop-color:#a5a5a5;stop-opacity:1"
2478 offset="0.44"
2479 id="71568" />
2480 <stop
2481 style="stop-color:#a5a5a5;stop-opacity:1"
2482 offset="1"
2483 id="71570" />
2484 <a:midPointStop
2485 offset="0"
2486 style="stop-color:#E1E1E1" />
2487 <a:midPointStop
2488 offset="0.5"
2489 style="stop-color:#E1E1E1" />
2490 <a:midPointStop
2491 offset="0.25"
2492 style="stop-color:#E1E1E1" />
2493 <a:midPointStop
2494 offset="0.5"
2495 style="stop-color:#E1E1E1" />
2496 <a:midPointStop
2497 offset="0.44"
2498 style="stop-color:#A5A5A5" />
2499 <a:midPointStop
2500 offset="0.5"
2501 style="stop-color:#A5A5A5" />
2502 <a:midPointStop
2503 offset="1"
2504 style="stop-color:#A5A5A5" />
2505 </linearGradient>
2506 <linearGradient
2507 x1="279.10999"
2508 y1="148.03"
2509 x2="309.16"
2510 y2="148.03"
2511 id="lg2818"
2512 xlink:href="#XMLID_2429_"
2513 gradientUnits="userSpaceOnUse"
2514 gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
2515 <radialGradient
2516 cx="622.34302"
2517 cy="14.449"
2518 r="26.496"
2519 fx="622.34302"
2520 fy="14.449"
2521 id="lg3499_"
2522 gradientUnits="userSpaceOnUse"
2523 gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
2524 <stop
2525 style="stop-color:#23468e;stop-opacity:1"
2526 offset="0"
2527 id="stop10972" />
2528 <stop
2529 style="stop-color:#012859;stop-opacity:1"
2530 offset="1"
2531 id="stop10974" />
2532 <a:midPointStop
2533 offset="0"
2534 style="stop-color:#23468E" />
2535 <a:midPointStop
2536 offset="0.5"
2537 style="stop-color:#23468E" />
2538 <a:midPointStop
2539 offset="1"
2540 style="stop-color:#012859" />
2541 </radialGradient>
2542 <radialGradient
2543 cx="622.34302"
2544 cy="14.449"
2545 r="26.496"
2546 fx="622.34302"
2547 fy="14.449"
2548 id="rg5791"
2549 xlink:href="#lg3499_"
2550 gradientUnits="userSpaceOnUse"
2551 gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
2552 <linearGradient
2553 x1="616.112"
2554 y1="76.247002"
2555 x2="588.14099"
2556 y2="60.742001"
2557 id="lg3497_"
2558 gradientUnits="userSpaceOnUse">
2559 <stop
2560 style="stop-color:#01326e;stop-opacity:1"
2561 offset="0"
2562 id="stop10962" />
2563 <stop
2564 style="stop-color:#012859;stop-opacity:1"
2565 offset="1"
2566 id="stop10964" />
2567 <a:midPointStop
2568 offset="0"
2569 style="stop-color:#01326E" />
2570 <a:midPointStop
2571 offset="0.5"
2572 style="stop-color:#01326E" />
2573 <a:midPointStop
2574 offset="1"
2575 style="stop-color:#012859" />
2576 </linearGradient>
2577 <linearGradient
2578 x1="617.698"
2579 y1="82.445999"
2580 x2="585.95203"
2581 y2="54.848999"
2582 id="lg3496_"
2583 gradientUnits="userSpaceOnUse">
2584 <stop
2585 style="stop-color:#e5e5e5;stop-opacity:1"
2586 offset="0"
2587 id="stop10950" />
2588 <stop
2589 style="stop-color:#ccc;stop-opacity:1"
2590 offset="1"
2591 id="stop10952" />
2592 <a:midPointStop
2593 offset="0"
2594 style="stop-color:#E5E5E5" />
2595 <a:midPointStop
2596 offset="0.5"
2597 style="stop-color:#E5E5E5" />
2598 <a:midPointStop
2599 offset="1"
2600 style="stop-color:#CCCCCC" />
2601 </linearGradient>
2602 <linearGradient
2603 x1="617.698"
2604 y1="82.445999"
2605 x2="585.95203"
2606 y2="54.848999"
2607 id="lg5794"
2608 xlink:href="#lg3496_"
2609 gradientUnits="userSpaceOnUse" />
2610 <linearGradient
2611 x1="601.39001"
2612 y1="55.341"
2613 x2="588.29199"
2614 y2="71.515999"
2615 id="lg3495_"
2616 gradientUnits="userSpaceOnUse">
2617 <stop
2618 style="stop-color:#d9d9d9;stop-opacity:1"
2619 offset="0"
2620 id="stop10941" />
2621 <stop
2622 style="stop-color:#f2f2f2;stop-opacity:1"
2623 offset="0.52200001"
2624 id="stop10943" />
2625 <stop
2626 style="stop-color:#ccc;stop-opacity:1"
2627 offset="1"
2628 id="stop10945" />
2629 <a:midPointStop
2630 offset="0"
2631 style="stop-color:#D9D9D9" />
2632 <a:midPointStop
2633 offset="0.5"
2634 style="stop-color:#D9D9D9" />
2635 <a:midPointStop
2636 offset="0.522"
2637 style="stop-color:#F2F2F2" />
2638 <a:midPointStop
2639 offset="0.5"
2640 style="stop-color:#F2F2F2" />
2641 <a:midPointStop
2642 offset="1"
2643 style="stop-color:#CCCCCC" />
2644 </linearGradient>
2645 <linearGradient
2646 x1="601.39001"
2647 y1="55.341"
2648 x2="588.29199"
2649 y2="71.515999"
2650 id="lg5771"
2651 xlink:href="#lg3495_"
2652 gradientUnits="userSpaceOnUse"
2653 gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
2654 <linearGradient
2655 x1="611.34601"
2656 y1="55.279999"
2657 x2="590.39001"
2658 y2="81.157997"
2659 id="lg3494_"
2660 gradientUnits="userSpaceOnUse">
2661 <stop
2662 style="stop-color:#d9d9d9;stop-opacity:1"
2663 offset="0"
2664 id="stop10932" />
2665 <stop
2666 style="stop-color:#f2f2f2;stop-opacity:1"
2667 offset="0.52200001"
2668 id="stop10934" />
2669 <stop
2670 style="stop-color:#ccc;stop-opacity:1"
2671 offset="1"
2672 id="stop10936" />
2673 <a:midPointStop
2674 offset="0"
2675 style="stop-color:#D9D9D9" />
2676 <a:midPointStop
2677 offset="0.5"
2678 style="stop-color:#D9D9D9" />
2679 <a:midPointStop
2680 offset="0.522"
2681 style="stop-color:#F2F2F2" />
2682 <a:midPointStop
2683 offset="0.5"
2684 style="stop-color:#F2F2F2" />
2685 <a:midPointStop
2686 offset="1"
2687 style="stop-color:#CCCCCC" />
2688 </linearGradient>
2689 <linearGradient
2690 x1="611.34601"
2691 y1="55.279999"
2692 x2="590.39001"
2693 y2="81.157997"
2694 id="lg5774"
2695 xlink:href="#lg3494_"
2696 gradientUnits="userSpaceOnUse"
2697 gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
2698 <linearGradient
2699 x1="798.72998"
2700 y1="69.839996"
2701 x2="799.04999"
2702 y2="70.709999"
2703 id="g3302_"
2704 gradientUnits="userSpaceOnUse">
2705 <stop
2706 style="stop-color:#005e00;stop-opacity:1"
2707 offset="0"
2708 id="s6504" />
2709 <stop
2710 style="stop-color:#23a11f;stop-opacity:1"
2711 offset="1"
2712 id="s6506" />
2713 <a:midPointstop
2714 style="stop-color:#005E00"
2715 offset="0" />
2716 <a:midPointstop
2717 style="stop-color:#005E00"
2718 offset="0.5" />
2719 <a:midPointstop
2720 style="stop-color:#23A11F"
2721 offset="1" />
2722 </linearGradient>
2723 <linearGradient
2724 x1="798.72998"
2725 y1="69.839996"
2726 x2="799.04999"
2727 y2="70.709999"
2728 id="lg5851"
2729 xlink:href="#g3302_"
2730 gradientUnits="userSpaceOnUse"
2731 gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
2732 <linearGradient
2733 x1="779.19"
2734 y1="122.73"
2735 x2="811.69"
2736 y2="149.74001"
2737 id="g3301_"
2738 gradientUnits="userSpaceOnUse"
2739 gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
2740 <stop
2741 style="stop-color:#f2f2f2;stop-opacity:1"
2742 offset="0"
2743 id="s6483" />
2744 <stop
2745 style="stop-color:#eee;stop-opacity:1"
2746 offset="0.17"
2747 id="s6485" />
2748 <stop
2749 style="stop-color:#e3e3e3;stop-opacity:1"
2750 offset="0.34"
2751 id="s6487" />
2752 <stop
2753 style="stop-color:#cfcfcf;stop-opacity:1"
2754 offset="0.50999999"
2755 id="s6489" />
2756 <stop
2757 style="stop-color:#b4b4b4;stop-opacity:1"
2758 offset="0.67000002"
2759 id="s6491" />
2760 <stop
2761 style="stop-color:#919191;stop-opacity:1"
2762 offset="0.83999997"
2763 id="s6493" />
2764 <stop
2765 style="stop-color:#666;stop-opacity:1"
2766 offset="1"
2767 id="s6495" />
2768 <a:midPointstop
2769 style="stop-color:#F2F2F2"
2770 offset="0" />
2771 <a:midPointstop
2772 style="stop-color:#F2F2F2"
2773 offset="0.71" />
2774 <a:midPointstop
2775 style="stop-color:#666666"
2776 offset="1" />
2777 </linearGradient>
2778 <linearGradient
2779 x1="779.19"
2780 y1="122.73"
2781 x2="811.69"
2782 y2="149.74001"
2783 id="lg5855"
2784 xlink:href="#g3301_"
2785 gradientUnits="userSpaceOnUse"
2786 gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
2787 <clipPath
2788 id="g3299_">
2789 <use
2790 id="use6469"
2791 x="0"
2792 y="0"
2793 width="1005.92"
2794 height="376.97"
2795 xlink:href="#g101_" />
2796 </clipPath>
2797 <radialGradient
2798 cx="1189.9301"
2799 cy="100.05"
2800 r="40.400002"
2801 fx="1189.9301"
2802 fy="100.05"
2803 id="g3300_"
2804 gradientUnits="userSpaceOnUse"
2805 gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
2806 <stop
2807 style="stop-color:white;stop-opacity:1"
2808 offset="0"
2809 id="s6472" />
2810 <stop
2811 style="stop-color:white;stop-opacity:0"
2812 offset="1"
2813 id="s6474" />
2814 <a:midPointstop
2815 style="stop-color:#FFFFFF"
2816 offset="0" />
2817 <a:midPointstop
2818 style="stop-color:#FFFFFF"
2819 offset="0.5" />
2820 <a:midPointstop
2821 style="stop-color:#000000"
2822 offset="1" />
2823 </radialGradient>
2824 <radialGradient
2825 cx="1199.74"
2826 cy="97.150002"
2827 r="40.400002"
2828 fx="1199.74"
2829 fy="97.150002"
2830 id="rg5860"
2831 xlink:href="#g3300_"
2832 gradientUnits="userSpaceOnUse"
2833 gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
2834 <linearGradient
2835 x1="796.38"
2836 y1="67.580002"
2837 x2="781.28003"
2838 y2="58.549999"
2839 id="g3298_"
2840 gradientUnits="userSpaceOnUse">
2841 <stop
2842 style="stop-color:#4c8bca;stop-opacity:1"
2843 offset="0"
2844 id="s6462" />
2845 <stop
2846 style="stop-color:#b7e9ff;stop-opacity:1"
2847 offset="1"
2848 id="s6464" />
2849 <a:midPointstop
2850 style="stop-color:#4C8BCA"
2851 offset="0" />
2852 <a:midPointstop
2853 style="stop-color:#4C8BCA"
2854 offset="0.5" />
2855 <a:midPointstop
2856 style="stop-color:#B7E9FF"
2857 offset="1" />
2858 </linearGradient>
2859 <linearGradient
2860 x1="800.97998"
2861 y1="140.72"
2862 x2="777.71997"
2863 y2="121.76"
2864 id="g3297_"
2865 gradientUnits="userSpaceOnUse"
2866 gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
2867 <stop
2868 style="stop-color:#e5e5e5;stop-opacity:1"
2869 offset="0"
2870 id="s6448" />
2871 <stop
2872 style="stop-color:#ccc;stop-opacity:1"
2873 offset="1"
2874 id="s6450" />
2875 <a:midPointstop
2876 style="stop-color:#E5E5E5"
2877 offset="0" />
2878 <a:midPointstop
2879 style="stop-color:#E5E5E5"
2880 offset="0.5" />
2881 <a:midPointstop
2882 style="stop-color:#CCCCCC"
2883 offset="1" />
2884 </linearGradient>
2885 <linearGradient
2886 x1="800.97998"
2887 y1="140.72"
2888 x2="777.71997"
2889 y2="121.76"
2890 id="lg5890"
2891 xlink:href="#g3297_"
2892 gradientUnits="userSpaceOnUse"
2893 gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
2894 <linearGradient
2895 x1="790.03998"
2896 y1="-16.33"
2897 x2="779.84003"
2898 y2="-3.73"
2899 id="g3296_"
2900 gradientUnits="userSpaceOnUse"
2901 gradientTransform="translate(0,70.17)">
2902 <stop
2903 style="stop-color:#d9d9d9;stop-opacity:1"
2904 offset="0"
2905 id="s6439" />
2906 <stop
2907 style="stop-color:#f2f2f2;stop-opacity:1"
2908 offset="0.51999998"
2909 id="s6441" />
2910 <stop
2911 style="stop-color:#ccc;stop-opacity:1"
2912 offset="1"
2913 id="s6443" />
2914 <a:midPointstop
2915 style="stop-color:#D9D9D9"
2916 offset="0" />
2917 <a:midPointstop
2918 style="stop-color:#D9D9D9"
2919 offset="0.5" />
2920 <a:midPointstop
2921 style="stop-color:#F2F2F2"
2922 offset="0.52" />
2923 <a:midPointstop
2924 style="stop-color:#F2F2F2"
2925 offset="0.5" />
2926 <a:midPointstop
2927 style="stop-color:#CCCCCC"
2928 offset="1" />
2929 </linearGradient>
2930 <linearGradient
2931 x1="790.03998"
2932 y1="-16.33"
2933 x2="779.84003"
2934 y2="-3.73"
2935 id="lg5866"
2936 xlink:href="#g3296_"
2937 gradientUnits="userSpaceOnUse"
2938 gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
2939 <linearGradient
2940 x1="785.84003"
2941 y1="72.989998"
2942 x2="785.26001"
2943 y2="76.279999"
2944 id="g3293_"
2945 gradientUnits="userSpaceOnUse">
2946 <stop
2947 style="stop-color:white;stop-opacity:1"
2948 offset="0"
2949 id="s6412" />
2950 <stop
2951 style="stop-color:#737373;stop-opacity:1"
2952 offset="1"
2953 id="s6414" />
2954 <a:midPointstop
2955 style="stop-color:#FFFFFF"
2956 offset="0" />
2957 <a:midPointstop
2958 style="stop-color:#FFFFFF"
2959 offset="0.5" />
2960 <a:midPointstop
2961 style="stop-color:#737373"
2962 offset="1" />
2963 </linearGradient>
2964 <linearGradient
2965 x1="785.84003"
2966 y1="72.989998"
2967 x2="785.26001"
2968 y2="76.279999"
2969 id="lg5871"
2970 xlink:href="#g3293_"
2971 gradientUnits="userSpaceOnUse"
2972 gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
2973 <linearGradient
2974 x1="789.37"
2975 y1="69.879997"
2976 x2="791.03998"
2977 y2="77.120003"
2978 id="g3292_"
2979 gradientUnits="userSpaceOnUse">
2980 <stop
2981 style="stop-color:#999;stop-opacity:1"
2982 offset="0"
2983 id="s6403" />
2984 <stop
2985 style="stop-color:#f2f2f2;stop-opacity:1"
2986 offset="0.28"
2987 id="s6405" />
2988 <stop
2989 style="stop-color:#666;stop-opacity:1"
2990 offset="1"
2991 id="s6407" />
2992 <a:midPointstop
2993 style="stop-color:#999999"
2994 offset="0" />
2995 <a:midPointstop
2996 style="stop-color:#999999"
2997 offset="0.5" />
2998 <a:midPointstop
2999 style="stop-color:#F2F2F2"
3000 offset="0.28" />
3001 <a:midPointstop
3002 style="stop-color:#F2F2F2"
3003 offset="0.5" />
3004 <a:midPointstop
3005 style="stop-color:#666666"
3006 offset="1" />
3007 </linearGradient>
3008 <linearGradient
3009 x1="789.37"
3010 y1="69.879997"
3011 x2="791.03998"
3012 y2="77.120003"
3013 id="lg5874"
3014 xlink:href="#g3292_"
3015 gradientUnits="userSpaceOnUse"
3016 gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
3017 <linearGradient
3018 x1="786.65997"
3019 y1="136.12"
3020 x2="786.71002"
3021 y2="134.33"
3022 id="g3290_"
3023 gradientUnits="userSpaceOnUse"
3024 gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
3025 <stop
3026 style="stop-color:#d9d9d9;stop-opacity:1"
3027 offset="0"
3028 id="s6380" />
3029 <stop
3030 style="stop-color:#b2b2b2;stop-opacity:1"
3031 offset="1"
3032 id="s6382" />
3033 <a:midPointstop
3034 style="stop-color:#D9D9D9"
3035 offset="0" />
3036 <a:midPointstop
3037 style="stop-color:#D9D9D9"
3038 offset="0.5" />
3039 <a:midPointstop
3040 style="stop-color:#B2B2B2"
3041 offset="1" />
3042 </linearGradient>
3043 <linearGradient
3044 x1="786.65997"
3045 y1="136.12"
3046 x2="786.71002"
3047 y2="134.33"
3048 id="lg5878"
3049 xlink:href="#g3290_"
3050 gradientUnits="userSpaceOnUse"
3051 gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
3052 <radialGradient
3053 cx="1458.77"
3054 cy="-5.0999999"
3055 r="35.130001"
3056 fx="1458.77"
3057 fy="-5.0999999"
3058 id="g3289_"
3059 gradientUnits="userSpaceOnUse"
3060 gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
3061 <stop
3062 style="stop-color:white;stop-opacity:1"
3063 offset="0"
3064 id="s6371" />
3065 <stop
3066 style="stop-color:#999;stop-opacity:1"
3067 offset="1"
3068 id="s6373" />
3069 <a:midPointstop
3070 style="stop-color:#FFFFFF"
3071 offset="0" />
3072 <a:midPointstop
3073 style="stop-color:#FFFFFF"
3074 offset="0.5" />
3075 <a:midPointstop
3076 style="stop-color:#999999"
3077 offset="1" />
3078 </radialGradient>
3079 <radialGradient
3080 cx="1458.77"
3081 cy="-5.0999999"
3082 r="35.130001"
3083 fx="1458.77"
3084 fy="-5.0999999"
3085 id="rg5881"
3086 xlink:href="#g3289_"
3087 gradientUnits="userSpaceOnUse"
3088 gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
3089 <radialGradient
3090 cx="1612.98"
3091 cy="-4.4699998"
3092 r="36.580002"
3093 fx="1612.98"
3094 fy="-4.4699998"
3095 id="g3288_"
3096 gradientUnits="userSpaceOnUse"
3097 gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
3098 <stop
3099 style="stop-color:#e5e5e5;stop-opacity:1"
3100 offset="0"
3101 id="s6362" />
3102 <stop
3103 style="stop-color:#b2b2b2;stop-opacity:1"
3104 offset="0.63999999"
3105 id="s6364" />
3106 <stop
3107 style="stop-color:#737373;stop-opacity:1"
3108 offset="1"
3109 id="s6366" />
3110 <a:midPointstop
3111 style="stop-color:#E5E5E5"
3112 offset="0" />
3113 <a:midPointstop
3114 style="stop-color:#E5E5E5"
3115 offset="0.5" />
3116 <a:midPointstop
3117 style="stop-color:#B2B2B2"
3118 offset="0.64" />
3119 <a:midPointstop
3120 style="stop-color:#B2B2B2"
3121 offset="0.5" />
3122 <a:midPointstop
3123 style="stop-color:#737373"
3124 offset="1" />
3125 </radialGradient>
3126 <radialGradient
3127 cx="1612.98"
3128 cy="-4.4699998"
3129 r="36.580002"
3130 fx="1612.98"
3131 fy="-4.4699998"
3132 id="rg5884"
3133 xlink:href="#g3288_"
3134 gradientUnits="userSpaceOnUse"
3135 gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
3136 <radialGradient
3137 cx="1470.5"
3138 cy="-10.21"
3139 r="33.290001"
3140 fx="1470.5"
3141 fy="-10.21"
3142 id="g3287_"
3143 gradientUnits="userSpaceOnUse"
3144 gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
3145 <stop
3146 style="stop-color:#e5e5e5;stop-opacity:1"
3147 offset="0"
3148 id="s6347" />
3149 <stop
3150 style="stop-color:#b2b2b2;stop-opacity:1"
3151 offset="0.38999999"
3152 id="s6349" />
3153 <stop
3154 style="stop-color:#b1b1b1;stop-opacity:1"
3155 offset="0.75"
3156 id="s6351" />
3157 <stop
3158 style="stop-color:#aaa;stop-opacity:1"
3159 offset="0.88"
3160 id="s6353" />
3161 <stop
3162 style="stop-color:#9e9e9e;stop-opacity:1"
3163 offset="0.97000003"
3164 id="s6355" />
3165 <stop
3166 style="stop-color:#999;stop-opacity:1"
3167 offset="1"
3168 id="s6357" />
3169 <a:midPointstop
3170 style="stop-color:#E5E5E5"
3171 offset="0" />
3172 <a:midPointstop
3173 style="stop-color:#E5E5E5"
3174 offset="0.5" />
3175 <a:midPointstop
3176 style="stop-color:#B2B2B2"
3177 offset="0.39" />
3178 <a:midPointstop
3179 style="stop-color:#B2B2B2"
3180 offset="0.87" />
3181 <a:midPointstop
3182 style="stop-color:#999999"
3183 offset="1" />
3184 </radialGradient>
3185 <radialGradient
3186 cx="1470.5"
3187 cy="-10.21"
3188 r="33.290001"
3189 fx="1470.5"
3190 fy="-10.21"
3191 id="rg5887"
3192 xlink:href="#g3287_"
3193 gradientUnits="userSpaceOnUse"
3194 gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
3195 <pattern
3196 patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
3197 id="cream-spots"
3198 height="32"
3199 width="32"
3200 patternUnits="userSpaceOnUse">
3201 <g
3202 transform="translate(-365.3146,-513.505)"
3203 id="g3047">
3204 id=&quot;path2858&quot; /&gt;
3205 <path
3206 inkscape:label="#path2854"
3207 sodipodi:nodetypes="czzzz"
3208 style="fill:#e3dcc0"
3209 id="path3060"
3210 d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504 381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C 372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504 390.31462,524.53704 390.31462,529.50504 z " />
3211</g>
3212 </pattern>
3213 <pattern
3214 patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
3215 id="dark-cream-spots"
3216 height="32"
3217 width="32"
3218 patternUnits="userSpaceOnUse">
3219 <g
3220 transform="translate(-408.0946,-513.505)"
3221 id="dark-cream-spot"
3222 inkscape:label="#g3043">
3223 <path
3224 sodipodi:nodetypes="czzzz"
3225 style="fill:#c8c5ac"
3226 d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504 424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C 415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504 433.09458,524.53704 433.09458,529.50504 z "
3227 id="path2953" />
3228 </g>
3229 </pattern>
3230 <pattern
3231 patternTransform="matrix(0.375,0,0,0.375,379,400)"
3232 id="white-spots"
3233 height="32"
3234 width="32"
3235 patternUnits="userSpaceOnUse">
3236 <g
3237 transform="translate(-484.3997,-513.505)"
3238 id="white-spot"
3239 inkscape:label="#g3035">
3240 <path
3241 style="opacity:0.25;fill:white"
3242 id="path3033"
3243 d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504 500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C 491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504 509.39967,524.53704 509.39967,529.50504 z "
3244 sodipodi:nodetypes="czzzz" />
3245 </g>
3246 </pattern>
3247 <pattern
3248 patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
3249 id="black-spots"
3250 height="32"
3251 width="32"
3252 patternUnits="userSpaceOnUse">
3253 <g
3254 transform="translate(-448.3997,-513.505)"
3255 id="black-spot"
3256 inkscape:label="#g3039">
3257 <path
3258 sodipodi:nodetypes="czzzz"
3259 d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504 464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C 455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504 473.39967,524.53704 473.39967,529.50504 z "
3260 id="path2961"
3261 style="opacity:0.25;fill:black" />
3262 </g>
3263 </pattern>
3264 <linearGradient
3265 x1="501.0903"
3266 y1="-19.2544"
3267 x2="531.85413"
3268 y2="0.72390002"
3269 id="linearGradient17334"
3270 gradientUnits="userSpaceOnUse"
3271 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
3272 <stop
3273 style="stop-color:#b4daea;stop-opacity:1"
3274 offset="0"
3275 id="stop17336" />
3276 <stop
3277 style="stop-color:#b4daea;stop-opacity:1"
3278 offset="0.51120001"
3279 id="stop17338" />
3280 <stop
3281 style="stop-color:#5387ba;stop-opacity:1"
3282 offset="0.64609998"
3283 id="stop17340" />
3284 <stop
3285 style="stop-color:#16336e;stop-opacity:1"
3286 offset="1"
3287 id="stop17342" />
3288 <a:midPointStop
3289 offset="0"
3290 style="stop-color:#B4DAEA" />
3291 <a:midPointStop
3292 offset="0.5"
3293 style="stop-color:#B4DAEA" />
3294 <a:midPointStop
3295 offset="0.5112"
3296 style="stop-color:#B4DAEA" />
3297 <a:midPointStop
3298 offset="0.5"
3299 style="stop-color:#B4DAEA" />
3300 <a:midPointStop
3301 offset="0.6461"
3302 style="stop-color:#5387BA" />
3303 <a:midPointStop
3304 offset="0.5"
3305 style="stop-color:#5387BA" />
3306 <a:midPointStop
3307 offset="1"
3308 style="stop-color:#16336E" />
3309 </linearGradient>
3310 <linearGradient
3311 x1="415.73831"
3312 y1="11.854"
3313 x2="418.13361"
3314 y2="18.8104"
3315 id="linearGradient17426"
3316 gradientUnits="userSpaceOnUse"
3317 gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
3318 <stop
3319 style="stop-color:#ccc;stop-opacity:1"
3320 offset="0"
3321 id="stop17428" />
3322 <stop
3323 style="stop-color:#f2f2f2;stop-opacity:1"
3324 offset="1"
3325 id="stop17430" />
3326 <a:midPointStop
3327 offset="0"
3328 style="stop-color:#CCCCCC" />
3329 <a:midPointStop
3330 offset="0.5"
3331 style="stop-color:#CCCCCC" />
3332 <a:midPointStop
3333 offset="1"
3334 style="stop-color:#F2F2F2" />
3335 </linearGradient>
3336 <linearGradient
3337 x1="478.21341"
3338 y1="-131.9297"
3339 x2="469.85818"
3340 y2="-140.28481"
3341 id="linearGradient17434"
3342 gradientUnits="userSpaceOnUse"
3343 gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
3344 <stop
3345 style="stop-color:#f3403f;stop-opacity:1"
3346 offset="0"
3347 id="stop17436" />
3348 <stop
3349 style="stop-color:#d02a28;stop-opacity:1"
3350 offset="0.37889999"
3351 id="stop17438" />
3352 <stop
3353 style="stop-color:#b21714;stop-opacity:1"
3354 offset="0.77649999"
3355 id="stop17440" />
3356 <stop
3357 style="stop-color:#a6100c;stop-opacity:1"
3358 offset="1"
3359 id="stop17442" />
3360 <a:midPointStop
3361 offset="0"
3362 style="stop-color:#F3403F" />
3363 <a:midPointStop
3364 offset="0.4213"
3365 style="stop-color:#F3403F" />
3366 <a:midPointStop
3367 offset="1"
3368 style="stop-color:#A6100C" />
3369 </linearGradient>
3370 <linearGradient
3371 x1="502.70749"
3372 y1="115.3013"
3373 x2="516.39001"
3374 y2="127.1953"
3375 id="linearGradient17709"
3376 xlink:href="#XMLID_1749_"
3377 gradientUnits="userSpaceOnUse"
3378 gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
3379 <linearGradient
3380 x1="506.09909"
3381 y1="-11.5137"
3382 x2="527.99609"
3383 y2="2.7063999"
3384 id="linearGradient17711"
3385 xlink:href="#XMLID_1752_"
3386 gradientUnits="userSpaceOnUse"
3387 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3388 <linearGradient
3389 x1="516.57672"
3390 y1="-15.769"
3391 x2="516.57672"
3392 y2="0.84280002"
3393 id="linearGradient17713"
3394 xlink:href="#XMLID_1753_"
3395 gradientUnits="userSpaceOnUse"
3396 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3397 <linearGradient
3398 x1="505.62939"
3399 y1="-14.9526"
3400 x2="527.49402"
3401 y2="-0.7536"
3402 id="linearGradient17715"
3403 xlink:href="#XMLID_1756_"
3404 gradientUnits="userSpaceOnUse"
3405 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3406 <linearGradient
3407 x1="500.70749"
3408 y1="-13.2441"
3409 x2="513.46442"
3410 y2="-2.1547"
3411 id="linearGradient17717"
3412 xlink:href="#XMLID_1757_"
3413 gradientUnits="userSpaceOnUse"
3414 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3415 <linearGradient
3416 x1="473.7681"
3417 y1="209.17529"
3418 x2="486.98099"
3419 y2="213.2001"
3420 id="linearGradient17721"
3421 xlink:href="#XMLID_2274_"
3422 gradientUnits="userSpaceOnUse" />
3423 <linearGradient
3424 x1="481.23969"
3425 y1="212.5742"
3426 x2="472.92981"
3427 y2="207.4967"
3428 id="linearGradient17723"
3429 xlink:href="#XMLID_2275_"
3430 gradientUnits="userSpaceOnUse" />
3431 <linearGradient
3432 x1="500.70749"
3433 y1="-13.2441"
3434 x2="513.46442"
3435 y2="-2.1547"
3436 id="linearGradient17416"
3437 gradientUnits="userSpaceOnUse"
3438 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
3439 <stop
3440 style="stop-color:#5387ba;stop-opacity:1"
3441 offset="0"
3442 id="stop17418" />
3443 <stop
3444 style="stop-color:#96bad6;stop-opacity:1"
3445 offset="1"
3446 id="stop17420" />
3447 <a:midPointStop
3448 style="stop-color:#5387BA"
3449 offset="0" />
3450 <a:midPointStop
3451 style="stop-color:#5387BA"
3452 offset="0.5" />
3453 <a:midPointStop
3454 style="stop-color:#96BAD6"
3455 offset="1" />
3456 </linearGradient>
3457 <defs
3458 id="defs9929">
3459 <path
3460 d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93 471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49 473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49 475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
3461 id="XMLID_960_" />
3462 </defs>
3463 <clipPath
3464 id="clipPath17448">
3465 <use
3466 id="use17450"
3467 x="0"
3468 y="0"
3469 width="744.09448"
3470 height="600"
3471 xlink:href="#XMLID_960_" />
3472 </clipPath>
3473 <linearGradient
3474 x1="473.7681"
3475 y1="209.17529"
3476 x2="486.98099"
3477 y2="213.2001"
3478 id="linearGradient17452"
3479 gradientUnits="userSpaceOnUse">
3480 <stop
3481 style="stop-color:#f3403f;stop-opacity:1"
3482 offset="0"
3483 id="stop17454" />
3484 <stop
3485 style="stop-color:#d02a28;stop-opacity:1"
3486 offset="0.37889999"
3487 id="stop17456" />
3488 <stop
3489 style="stop-color:#b21714;stop-opacity:1"
3490 offset="0.77649999"
3491 id="stop17458" />
3492 <stop
3493 style="stop-color:#a6100c;stop-opacity:1"
3494 offset="1"
3495 id="stop17460" />
3496 <a:midPointStop
3497 style="stop-color:#F3403F"
3498 offset="0" />
3499 <a:midPointStop
3500 style="stop-color:#F3403F"
3501 offset="0.4213" />
3502 <a:midPointStop
3503 style="stop-color:#A6100C"
3504 offset="1" />
3505 </linearGradient>
3506 <linearGradient
3507 x1="481.23969"
3508 y1="212.5742"
3509 x2="472.92981"
3510 y2="207.4967"
3511 id="linearGradient17463"
3512 gradientUnits="userSpaceOnUse">
3513 <stop
3514 style="stop-color:#f3403f;stop-opacity:1"
3515 offset="0"
3516 id="stop17465" />
3517 <stop
3518 style="stop-color:#d02a28;stop-opacity:1"
3519 offset="0.37889999"
3520 id="stop17467" />
3521 <stop
3522 style="stop-color:#b21714;stop-opacity:1"
3523 offset="0.77649999"
3524 id="stop17469" />
3525 <stop
3526 style="stop-color:#a6100c;stop-opacity:1"
3527 offset="1"
3528 id="stop17471" />
3529 <a:midPointStop
3530 style="stop-color:#F3403F"
3531 offset="0" />
3532 <a:midPointStop
3533 style="stop-color:#F3403F"
3534 offset="0.4213" />
3535 <a:midPointStop
3536 style="stop-color:#A6100C"
3537 offset="1" />
3538 </linearGradient>
3539 <linearGradient
3540 x1="481.23969"
3541 y1="212.5742"
3542 x2="472.92981"
3543 y2="207.4967"
3544 id="linearGradient17807"
3545 xlink:href="#XMLID_2275_"
3546 gradientUnits="userSpaceOnUse"
3547 gradientTransform="translate(-177.1654,35.43307)" />
3548 <linearGradient
3549 x1="473.7681"
3550 y1="209.17529"
3551 x2="486.98099"
3552 y2="213.2001"
3553 id="linearGradient17810"
3554 xlink:href="#XMLID_2274_"
3555 gradientUnits="userSpaceOnUse"
3556 gradientTransform="translate(-177.1654,35.43307)" />
3557 <linearGradient
3558 x1="502.70749"
3559 y1="115.3013"
3560 x2="516.39001"
3561 y2="127.1953"
3562 id="linearGradient17812"
3563 xlink:href="#XMLID_1749_"
3564 gradientUnits="userSpaceOnUse"
3565 gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
3566 <linearGradient
3567 x1="506.09909"
3568 y1="-11.5137"
3569 x2="527.99609"
3570 y2="2.7063999"
3571 id="linearGradient17814"
3572 xlink:href="#XMLID_1752_"
3573 gradientUnits="userSpaceOnUse"
3574 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3575 <linearGradient
3576 x1="516.57672"
3577 y1="-15.769"
3578 x2="516.57672"
3579 y2="0.84280002"
3580 id="linearGradient17816"
3581 xlink:href="#XMLID_1753_"
3582 gradientUnits="userSpaceOnUse"
3583 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3584 <linearGradient
3585 x1="505.62939"
3586 y1="-14.9526"
3587 x2="527.49402"
3588 y2="-0.7536"
3589 id="linearGradient17818"
3590 xlink:href="#XMLID_1756_"
3591 gradientUnits="userSpaceOnUse"
3592 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3593 <linearGradient
3594 x1="502.70749"
3595 y1="115.3013"
3596 x2="516.39001"
3597 y2="127.1953"
3598 id="linearGradient17347"
3599 gradientUnits="userSpaceOnUse"
3600 gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
3601 <stop
3602 style="stop-color:#5387ba;stop-opacity:1"
3603 offset="0"
3604 id="stop17349" />
3605 <stop
3606 style="stop-color:#96bad6;stop-opacity:1"
3607 offset="1"
3608 id="stop17351" />
3609 <a:midPointStop
3610 offset="0"
3611 style="stop-color:#5387BA" />
3612 <a:midPointStop
3613 offset="0.5"
3614 style="stop-color:#5387BA" />
3615 <a:midPointStop
3616 offset="1"
3617 style="stop-color:#96BAD6" />
3618 </linearGradient>
3619 <linearGradient
3620 x1="516.57672"
3621 y1="-15.769"
3622 x2="516.57672"
3623 y2="0.84280002"
3624 id="linearGradient17379"
3625 gradientUnits="userSpaceOnUse"
3626 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
3627 <stop
3628 style="stop-color:#b2b2b2;stop-opacity:1"
3629 offset="0"
3630 id="stop17381" />
3631 <stop
3632 style="stop-color:#f2f2f2;stop-opacity:1"
3633 offset="1"
3634 id="stop17383" />
3635 <a:midPointStop
3636 offset="0"
3637 style="stop-color:#B2B2B2" />
3638 <a:midPointStop
3639 offset="0.5"
3640 style="stop-color:#B2B2B2" />
3641 <a:midPointStop
3642 offset="1"
3643 style="stop-color:#F2F2F2" />
3644 </linearGradient>
3645 <linearGradient
3646 x1="502.70749"
3647 y1="115.3013"
3648 x2="516.39001"
3649 y2="127.1953"
3650 id="linearGradient17862"
3651 xlink:href="#XMLID_1749_"
3652 gradientUnits="userSpaceOnUse"
3653 gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)" />
3654 <linearGradient
3655 x1="505.62939"
3656 y1="-14.9526"
3657 x2="527.49402"
3658 y2="-0.7536"
3659 id="linearGradient17864"
3660 xlink:href="#XMLID_1756_"
3661 gradientUnits="userSpaceOnUse"
3662 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3663 <defs
3664 id="defs3859">
3665 <polygon
3666 points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05 471.08,194.07 470.26,194.83 465.54,213.52 "
3667 id="XMLID_343_" />
3668 </defs>
3669 <linearGradient
3670 x1="471.0806"
3671 y1="201.07761"
3672 x2="481.91711"
3673 y2="210.4977"
3674 id="linearGradient17389"
3675 gradientUnits="userSpaceOnUse">
3676 <stop
3677 style="stop-color:#6498c1;stop-opacity:1"
3678 offset="0.005618"
3679 id="stop17391" />
3680 <stop
3681 style="stop-color:#79a9cc;stop-opacity:1"
3682 offset="0.2332"
3683 id="stop17393" />
3684 <stop
3685 style="stop-color:#a4cde2;stop-opacity:1"
3686 offset="0.74049997"
3687 id="stop17395" />
3688 <stop
3689 style="stop-color:#b4daea;stop-opacity:1"
3690 offset="1"
3691 id="stop17397" />
3692 <a:midPointStop
3693 style="stop-color:#6498C1"
3694 offset="5.618000e-003" />
3695 <a:midPointStop
3696 style="stop-color:#6498C1"
3697 offset="0.4438" />
3698 <a:midPointStop
3699 style="stop-color:#B4DAEA"
3700 offset="1" />
3701 </linearGradient>
3702 <clipPath
3703 id="clipPath17400">
3704 <use
3705 id="use17402"
3706 x="0"
3707 y="0"
3708 width="744.09448"
3709 height="600"
3710 xlink:href="#XMLID_343_" />
3711 </clipPath>
3712 <linearGradient
3713 x1="505.62939"
3714 y1="-14.9526"
3715 x2="527.49402"
3716 y2="-0.7536"
3717 id="linearGradient17404"
3718 gradientUnits="userSpaceOnUse"
3719 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
3720 <stop
3721 style="stop-color:#b4daea;stop-opacity:1"
3722 offset="0"
3723 id="stop17406" />
3724 <stop
3725 style="stop-color:#b4daea;stop-opacity:1"
3726 offset="0.51120001"
3727 id="stop17408" />
3728 <stop
3729 style="stop-color:#5387ba;stop-opacity:1"
3730 offset="0.64609998"
3731 id="stop17410" />
3732 <stop
3733 style="stop-color:#16336e;stop-opacity:1"
3734 offset="1"
3735 id="stop17412" />
3736 <a:midPointStop
3737 style="stop-color:#B4DAEA"
3738 offset="0" />
3739 <a:midPointStop
3740 style="stop-color:#B4DAEA"
3741 offset="0.5" />
3742 <a:midPointStop
3743 style="stop-color:#B4DAEA"
3744 offset="0.5112" />
3745 <a:midPointStop
3746 style="stop-color:#B4DAEA"
3747 offset="0.5" />
3748 <a:midPointStop
3749 style="stop-color:#5387BA"
3750 offset="0.6461" />
3751 <a:midPointStop
3752 style="stop-color:#5387BA"
3753 offset="0.5" />
3754 <a:midPointStop
3755 style="stop-color:#16336E"
3756 offset="1" />
3757 </linearGradient>
3758 <linearGradient
3759 x1="506.09909"
3760 y1="-11.5137"
3761 x2="527.99609"
3762 y2="2.7063999"
3763 id="linearGradient17882"
3764 xlink:href="#XMLID_1752_"
3765 gradientUnits="userSpaceOnUse"
3766 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
3767 <defs
3768 id="defs3826">
3769 <polygon
3770 points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04 469.05,196.69 468.24,197.45 463.52,216.14 "
3771 id="XMLID_338_" />
3772 </defs>
3773 <linearGradient
3774 x1="468.2915"
3775 y1="204.7612"
3776 x2="479.39871"
3777 y2="214.4166"
3778 id="linearGradient17357"
3779 gradientUnits="userSpaceOnUse">
3780 <stop
3781 style="stop-color:#5387ba;stop-opacity:1"
3782 offset="0"
3783 id="stop17359" />
3784 <stop
3785 style="stop-color:#96bad6;stop-opacity:1"
3786 offset="1"
3787 id="stop17361" />
3788 <a:midPointStop
3789 style="stop-color:#5387BA"
3790 offset="0" />
3791 <a:midPointStop
3792 style="stop-color:#5387BA"
3793 offset="0.5" />
3794 <a:midPointStop
3795 style="stop-color:#96BAD6"
3796 offset="1" />
3797 </linearGradient>
3798 <clipPath
3799 id="clipPath17364">
3800 <use
3801 id="use17366"
3802 x="0"
3803 y="0"
3804 width="744.09448"
3805 height="600"
3806 xlink:href="#XMLID_338_" />
3807 </clipPath>
3808 <linearGradient
3809 x1="506.09909"
3810 y1="-11.5137"
3811 x2="527.99609"
3812 y2="2.7063999"
3813 id="linearGradient17368"
3814 gradientUnits="userSpaceOnUse"
3815 gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
3816 <stop
3817 style="stop-color:#b4daea;stop-opacity:1"
3818 offset="0"
3819 id="stop17370" />
3820 <stop
3821 style="stop-color:#b4daea;stop-opacity:1"
3822 offset="0.51120001"
3823 id="stop17372" />
3824 <stop
3825 style="stop-color:#5387ba;stop-opacity:1"
3826 offset="0.64609998"
3827 id="stop17374" />
3828 <stop
3829 style="stop-color:#16336e;stop-opacity:1"
3830 offset="1"
3831 id="stop17376" />
3832 <a:midPointStop
3833 style="stop-color:#B4DAEA"
3834 offset="0" />
3835 <a:midPointStop
3836 style="stop-color:#B4DAEA"
3837 offset="0.5" />
3838 <a:midPointStop
3839 style="stop-color:#B4DAEA"
3840 offset="0.5112" />
3841 <a:midPointStop
3842 style="stop-color:#B4DAEA"
3843 offset="0.5" />
3844 <a:midPointStop
3845 style="stop-color:#5387BA"
3846 offset="0.6461" />
3847 <a:midPointStop
3848 style="stop-color:#5387BA"
3849 offset="0.5" />
3850 <a:midPointStop
3851 style="stop-color:#16336E"
3852 offset="1" />
3853 </linearGradient>
3854 <linearGradient
3855 x1="296.4996"
3856 y1="188.81061"
3857 x2="317.32471"
3858 y2="209.69398"
3859 id="linearGradient2387"
3860 xlink:href="#linearGradient2381"
3861 gradientUnits="userSpaceOnUse"
3862 gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
3863 <linearGradient
3864 x1="296.4996"
3865 y1="188.81061"
3866 x2="317.32471"
3867 y2="209.69398"
3868 id="linearGradient5105"
3869 xlink:href="#linearGradient2381"
3870 gradientUnits="userSpaceOnUse"
3871 gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
3872 <linearGradient
3873 x1="296.4996"
3874 y1="188.81061"
3875 x2="317.32471"
3876 y2="209.69398"
3877 id="linearGradient5145"
3878 xlink:href="#linearGradient2381"
3879 gradientUnits="userSpaceOnUse"
3880 gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
3881 <linearGradient
3882 inkscape:collect="always"
3883 xlink:href="#linearGradient2381"
3884 id="linearGradient2371"
3885 gradientUnits="userSpaceOnUse"
3886 gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
3887 x1="296.4996"
3888 y1="188.81061"
3889 x2="317.32471"
3890 y2="209.69398" />
3891 </defs>
3892 <g
3893 transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
3894 id="g5089">
3895 <path
3896 d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875 L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C 31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L 32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375 C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
3897 transform="translate(282.8327,227.1903)"
3898 style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
3899 id="path5091" />
3900 <rect
3901 width="27.85074"
3902 height="29.369793"
3903 rx="1.1414107"
3904 ry="1.1414107"
3905 x="286.96509"
3906 y="227.63805"
3907 style="fill:#032c87"
3908 id="rect5093" />
3909 <path
3910 d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L 287.29827,254.83069 L 288.43262,225.43675 z "
3911 style="fill:white"
3912 id="rect5095" />
3913 <path
3914 d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091 301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C 307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432 309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
3915 style="fill:#a70000;fill-opacity:1;stroke-width:2"
3916 id="path5097" />
3917 <rect
3918 width="25.241802"
3919 height="29.736675"
3920 rx="0.89682275"
3921 ry="0.89682275"
3922 x="290.73544"
3923 y="220.92249"
3924 style="fill:#809cc9"
3925 id="rect5099" />
3926 <path
3927 d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C 581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C 574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
3928 transform="matrix(0.499065,-0.866565,0,1,0,0)"
3929 style="fill:#4573b3;fill-opacity:1"
3930 id="rect5101" />
3931 <path
3932 d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363 314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124 292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363 293.2599,221.89363 z "
3933 style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
3934 id="path5103" />
3935 </g>
3936</svg>
diff --git a/SystemTap_Beginners_Guide/index.html b/SystemTap_Beginners_Guide/index.html
deleted file mode 100644
index 328e68de..00000000
--- a/SystemTap_Beginners_Guide/index.html
+++ /dev/null
@@ -1,18 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SystemTap Beginners Guide</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><meta name="description" content="This guide provides basic instructions on how to use SystemTap to monitor different subsystems of Fedora in finer detail. The SystemTap Beginners Guide is recommended for users who have taken RHCT or have a similar level of expertise in Fedora." /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="next" href="SystemTap_Beginners_Guide-Preface.html" title="Preface" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="SystemTap_Beginners_Guide-Preface.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="book" id="id617001" lang="en-US"><div class="titlepage"><div><div class="producttitle" font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><span class="productname">Systemtap</span> <span class="productnumber">1.7</span></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h1 id="id617001" class="title">SystemTap Beginners Guide</h1></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h2 class="subtitle">Introduction to SystemTap (for Fedora)</h2></div><p class="edition">Edition 2.0</p><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><h3 class="corpauthor">
4 <span class="inlinemediaobject"><object data="Common_Content/images/title_logo.svg" type="image/svg+xml"> Logo</object></span>
5
6 </h3></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div xml:lang="en-US" class="authorgroup" lang="en-US"><h3 class="corpauthor">
7 Red Hat, Inc.
8 </h3><div class="author"><h3 class="author"><span class="firstname">Don</span> <span class="surname">Domingo </span></h3><div class="affiliation"><span class="orgname">Engineering Services and Operations</span> <span class="orgdiv">Content Services</span></div><code class="email"><a class="email" href="mailto:ddomingo@redhat.com">ddomingo@redhat.com</a></code></div><div class="author"><h3 class="author"><span class="firstname">William</span> <span class="surname">Cohen</span></h3><div class="affiliation"><span class="orgname">Engineering Services and Operations</span> <span class="orgdiv">Performance Tools</span></div><code class="email"><a class="email" href="mailto:wcohen@redhat.com">wcohen@redhat.com</a></code></div></div></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><p class="copyright">Copyright © 2012 Red Hat, Inc</p></div><hr /><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div id="id606328" class="legalnotice"><h1 class="legalnotice">Legal Notice</h1><div class="para">
9 This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
10 </div><div class="para">
11 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12 </div><div class="para">
13 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14 </div><div class="para">
15 For more details see the file COPYING in the source distribution of Linux.
16 </div></div></div><div font-family="sans-serif,Symbol,ZapfDingbats" font-weight="bold" font-size="12pt" text-align="center"><div class="abstract"><h6>Abstract</h6><div class="para">
17 This guide provides basic instructions on how to use SystemTap to monitor different subsystems of Fedora in finer detail. The <em class="citetitle">SystemTap Beginners Guide</em> is recommended for users who have taken <a href="https://www.redhat.com/courses/rh133_red_hat_linux_system_administration_and_rhct_exam/">RHCT</a> or have a similar level of expertise in Fedora.
18 </div></div></div></div><hr /></div><div class="toc"><dl><dt><span class="preface"><a href="SystemTap_Beginners_Guide-Preface.html">Preface</a></span></dt><dd><dl><dt><span class="section"><a href="SystemTap_Beginners_Guide-Preface.html#id773730">1. Document Conventions</a></span></dt><dd><dl><dt><span class="section"><a href="SystemTap_Beginners_Guide-Preface.html#id498503">1.1. Typographic Conventions</a></span></dt><dt><span class="section"><a href="SystemTap_Beginners_Guide-Preface.html#id526365">1.2. Pull-quote Conventions</a></span></dt><dt><span class="section"><a href="SystemTap_Beginners_Guide-Preface.html#id782254">1.3. Notes and Warnings</a></span></dt></dl></dd><dt><span class="section"><a href="pr01s02.html">2. We Need Feedback!</a></span></dt></dl></dd><dt><span class="chapter"><a href="introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="introduction.html#goals">1.1. Documentation Goals</a></span></dt><dt><span class="section"><a href="intro-systemtap-vs-others.html">1.2. SystemTap Capabilities</a></span></dt></dl></dd><dt><span class="chapter"><a href="using-systemtap.html">2. Using SystemTap</a></span></dt><dd><dl><dt><span class="section"><a href="using-systemtap.html#using-setup">2.1. Installation and Setup</a></span></dt><dd><dl><dt><span class="section"><a href="using-systemtap.html#installproper">2.1.1. Installing SystemTap</a></span></dt><dt><span class="section"><a href="using-systemtap.html#install-kinfo">2.1.2. Installing Required Kernel Information RPMs</a></span></dt><dt><span class="section"><a href="using-systemtap.html#testing">2.1.3. Initial Testing</a></span></dt></dl></dd><dt><span class="section"><a href="cross-compiling.html">2.2. Generating Instrumentation for Other Computers</a></span></dt><dt><span class="section"><a href="using-usage.html">2.3. Running SystemTap Scripts</a></span></dt><dd><dl><dt><span class="section"><a href="using-usage.html#flight-recorder">2.3.1. SystemTap Flight Recorder Mode</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="understanding-how-systemtap-works.html">3. Understanding How SystemTap Works</a></span></dt><dd><dl><dt><span class="section"><a href="understanding-how-systemtap-works.html#understanding-architecture-tools">3.1. Architecture</a></span></dt><dt><span class="section"><a href="scripts.html">3.2. SystemTap Scripts</a></span></dt><dd><dl><dt><span class="section"><a href="scripts.html#systemtapscript-events">3.2.1. Event</a></span></dt><dt><span class="section"><a href="systemtapscript-handler.html">3.2.2. Systemtap Handler/Body</a></span></dt></dl></dd><dt><span class="section"><a href="scriptconstructions.html">3.3. Basic SystemTap Handler Constructs</a></span></dt><dd><dl><dt><span class="section"><a href="scriptconstructions.html#variablesconstructs">3.3.1. Variables</a></span></dt><dt><span class="section"><a href="targetvariables.html">3.3.2. Target Variables</a></span></dt><dt><span class="section"><a href="handlerconditionalstatements.html">3.3.3. Conditional Statements</a></span></dt><dt><span class="section"><a href="commandlineargssect.html">3.3.4. Command-Line Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="associativearrays.html">3.4. Associative Arrays</a></span></dt><dt><span class="section"><a href="arrayoperators.html">3.5. Array Operations in SystemTap</a></span></dt><dd><dl><dt><span class="section"><a href="arrayoperators.html#arrayops-assignvalue">3.5.1. Assigning an Associated Value</a></span></dt><dt><span class="section"><a href="arrayops-readvalues.html">3.5.2. Reading Values From Arrays</a></span></dt><dt><span class="section"><a href="arrayops-increment.html">3.5.3. Incrementing Associated Values</a></span></dt><dt><span class="section"><a href="arrayops-foreach.html">3.5.4. Processing Multiple Elements in an Array</a></span></dt><dt><span class="section"><a href="arrayops-deleting.html">3.5.5. Clearing/Deleting Arrays and Array Elements</a></span></dt><dt><span class="section"><a href="arrayops-conditionals.html">3.5.6. Using Arrays in Conditional Statements</a></span></dt><dt><span class="section"><a href="arrayops-aggregates.html">3.5.7. Computing for Statistical Aggregates</a></span></dt></dl></dd><dt><span class="section"><a href="understanding-tapsets.html">3.6. Tapsets</a></span></dt></dl></dd><dt><span class="chapter"><a href="userspace-probing.html">4. User-Space Probing</a></span></dt><dd><dl><dt><span class="section"><a href="userspace-probing.html#uevents">4.1. User-Space Events</a></span></dt><dt><span class="section"><a href="utargetvariable.html">4.2. Accessing User-Space Target Variables</a></span></dt><dt><span class="section"><a href="ustack.html">4.3. User-Space Stack Backtraces</a></span></dt></dl></dd><dt><span class="chapter"><a href="useful-systemtap-scripts.html">5. Useful SystemTap Scripts</a></span></dt><dd><dl><dt><span class="section"><a href="useful-systemtap-scripts.html#mainsect-network">5.1. Network</a></span></dt><dd><dl><dt><span class="section"><a href="useful-systemtap-scripts.html#nettopsect">5.1.1. Network Profiling</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#sockettracesect">5.1.2. Tracing Functions Called in Network Socket Code</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#tcpconnectionssect">5.1.3. Monitoring Incoming TCP Connections</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#tcpdumplikesect">5.1.4. Monitoring TCP Packets</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#dropwatchsect">5.1.5. Monitoring Network Packets Drops in Kernel</a></span></dt></dl></dd><dt><span class="section"><a href="mainsect-disk.html">5.2. Disk</a></span></dt><dd><dl><dt><span class="section"><a href="mainsect-disk.html#disktop">5.2.1. Summarizing Disk Read/Write Traffic</a></span></dt><dt><span class="section"><a href="iotimesect.html">5.2.2. Tracking I/O Time For Each File Read or Write</a></span></dt><dt><span class="section"><a href="traceiosect.html">5.2.3. Track Cumulative IO</a></span></dt><dt><span class="section"><a href="traceio2sect.html">5.2.4. I/O Monitoring (By Device)</a></span></dt><dt><span class="section"><a href="inodewatchsect.html">5.2.5. Monitoring Reads and Writes to a File</a></span></dt><dt><span class="section"><a href="inodewatch2sect.html">5.2.6. Monitoring Changes to File Attributes</a></span></dt><dt><span class="section"><a href="ioblktimesect.html">5.2.7. Periodically Print I/O Block Time</a></span></dt></dl></dd><dt><span class="section"><a href="mainsect-profiling.html">5.3. Profiling</a></span></dt><dd><dl><dt><span class="section"><a href="mainsect-profiling.html#countcallssect">5.3.1. Counting Function Calls Made</a></span></dt><dt><span class="section"><a href="paracallgraph.html">5.3.2. Call Graph Tracing</a></span></dt><dt><span class="section"><a href="threadtimessect.html">5.3.3. Determining Time Spent in Kernel and User Space</a></span></dt><dt><span class="section"><a href="timeoutssect.html">5.3.4. Monitoring Polling Applications</a></span></dt><dt><span class="section"><a href="topsyssect.html">5.3.5. Tracking Most Frequently Used System Calls</a></span></dt><dt><span class="section"><a href="syscallsbyprocpidsect.html">5.3.6. Tracking System Call Volume Per Process</a></span></dt></dl></dd><dt><span class="section"><a href="futexcontentionsect.html">5.4. Identifying Contended User-Space Locks</a></span></dt></dl></dd><dt><span class="chapter"><a href="errors.html">6. Understanding SystemTap Errors</a></span></dt><dd><dl><dt><span class="section"><a href="errors.html#parsetype">6.1. Parse and Semantic Errors</a></span></dt><dt><span class="section"><a href="runtimeerror.html">6.2. Run Time Errors and Warnings</a></span></dt></dl></dd><dt><span class="chapter"><a href="references.html">7. References</a></span></dt><dt><span class="appendix"><a href="appe-Publican-Revision_History.html">A. Revision History</a></span></dt><dt><span class="index"><a href="ix01.html">Index</a></span></dt></dl></div></div><ul class="docnav"><li class="previous"></li><li class="next"><a accesskey="n" href="SystemTap_Beginners_Guide-Preface.html"><strong>Next</strong>Preface</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/inodewatch2sect.html b/SystemTap_Beginners_Guide/inodewatch2sect.html
deleted file mode 100644
index 8779c1a5..00000000
--- a/SystemTap_Beginners_Guide/inodewatch2sect.html
+++ /dev/null
@@ -1,29 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.6. Monitoring Changes to File Attributes</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="inodewatchsect.html" title="5.2.5. Monitoring Reads and Writes to a File" /><link rel="next" href="ioblktimesect.html" title="5.2.7. Periodically Print I/O Block Time" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="inodewatchsect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ioblktimesect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="inodewatch2sect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="inodewatch2sect">5.2.6. Monitoring Changes to File Attributes</h3></div></div></div><a id="id525560" class="indexterm"></a><a id="id792143" class="indexterm"></a><a id="id811790" class="indexterm"></a><a id="id659909" class="indexterm"></a><a id="id505833" class="indexterm"></a><div class="para">
4 This section describes how to monitor if any processes are changing the attributes of a targeted file, in real time.
5 </div><div class="formalpara" id="inodewatch2"><h5 class="formalpara">inodewatch2.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9global ATTR_MODE = 1
10
11probe kernel.function("setattr_copy")!,
12 kernel.function("generic_setattr")!,
13 kernel.function("inode_setattr") {
14 dev_nr = $inode-&gt;i_sb-&gt;s_dev
15 inode_nr = $inode-&gt;i_ino
16
17 if (dev_nr == MKDEV($1,$2) # major/minor device
18 &amp;&amp; inode_nr == $3
19 &amp;&amp; $attr-&gt;ia_valid &amp; ATTR_MODE)
20 printf ("%s(%d) %s 0x%x/%u %o %d\n",
21 execname(), pid(), probefunc(), dev_nr, inode_nr, $attr-&gt;ia_mode, uid())
22}
23</pre>
24 </div><div class="para">
25 Like <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> from <a class="xref" href="inodewatchsect.html">Section 5.2.5, “Monitoring Reads and Writes to a File”</a>, <a class="xref" href="inodewatch2sect.html#inodewatch2">inodewatch2.stp</a> takes the targeted file's device number (in integer format) and <code class="command">inode</code> number as arguments. For more information on how to retrieve this information, refer to <a class="xref" href="inodewatchsect.html">Section 5.2.5, “Monitoring Reads and Writes to a File”</a>.
26 </div><div class="para">
27 The output for <a class="xref" href="inodewatch2sect.html#inodewatch2">inodewatch2.stp</a> is similar to that of <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a>, except that <a class="xref" href="inodewatch2sect.html#inodewatch2">inodewatch2.stp</a> also contains the attribute changes to the monitored file, as well as the ID of the user responsible (<code class="command">uid()</code>). <a class="xref" href="inodewatch2sect.html#inodewatch2output">Example 5.11, “inodewatch2.stp Sample Output”</a> shows the output of <a class="xref" href="inodewatch2sect.html#inodewatch2">inodewatch2.stp</a> while monitoring <code class="filename">/home/joe/bigfile</code> when user <code class="computeroutput">joe</code> executes <code class="command">chmod 777 /home/joe/bigfile</code> and <code class="command">chmod 666 /home/joe/bigfile</code>.
28 </div><div class="example" id="inodewatch2output"><h6>Example 5.11. <a class="xref" href="inodewatch2sect.html#inodewatch2">inodewatch2.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">chmod(17448) inode_setattr 0x800005/6011835 100777 500
29chmod(17449) inode_setattr 0x800005/6011835 100666 500</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="inodewatchsect.html"><strong>Prev</strong>5.2.5. Monitoring Reads and Writes to a File</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ioblktimesect.html"><strong>Next</strong>5.2.7. Periodically Print I/O Block Time</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/inodewatchsect.html b/SystemTap_Beginners_Guide/inodewatchsect.html
deleted file mode 100644
index 855e59b2..00000000
--- a/SystemTap_Beginners_Guide/inodewatchsect.html
+++ /dev/null
@@ -1,35 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.5. Monitoring Reads and Writes to a File</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="traceio2sect.html" title="5.2.4. I/O Monitoring (By Device)" /><link rel="next" href="inodewatch2sect.html" title="5.2.6. Monitoring Changes to File Attributes" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="inodewatchsect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="inodewatchsect">5.2.5. Monitoring Reads and Writes to a File</h3></div></div></div><a id="id572584" class="indexterm"></a><a id="id646792" class="indexterm"></a><a id="id540203" class="indexterm"></a><a id="id552307" class="indexterm"></a><a id="id497149" class="indexterm"></a><a id="id793549" class="indexterm"></a><div class="para">
4 This section describes how to monitor reads from and writes to a file in real time.
5 </div><div class="formalpara" id="inodewatch"><h5 class="formalpara">inodewatch.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9probe vfs.write, vfs.read
10{
11 # dev and ino are defined by vfs.write and vfs.read
12 if (dev == MKDEV($1,$2) # major/minor device
13 &amp;&amp; ino == $3)
14 printf ("%s(%d) %s 0x%x/%u\n",
15 execname(), pid(), probefunc(), dev, ino)
16}
17</pre>
18 </div><div class="para">
19 <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> takes the following information about the file as arguments on the command line:
20 </div><a id="id769138" class="indexterm"></a><a id="id643458" class="indexterm"></a><a id="id1059568" class="indexterm"></a><a id="id631391" class="indexterm"></a><div class="itemizedlist"><ul><li class="listitem"><div class="para">
21 The file's major device number.
22 </div></li><li class="listitem"><div class="para">
23 The file's minor device number.
24 </div></li><li class="listitem"><div class="para">
25 The file's <code class="command">inode</code> number.
26 </div></li></ul></div><a id="id667870" class="indexterm"></a><a id="id685776" class="indexterm"></a><a id="id572596" class="indexterm"></a><div class="para">
27 To get this information, use <code class="command">stat -c '%D %i' <em class="replaceable"><code>filename</code></em></code>, where <code class="command"><em class="replaceable"><code>filename</code></em></code> is an absolute path.
28 </div><div class="para">
29 For instance: if you wish to monitor <code class="filename">/etc/crontab</code>, run <code class="command">stat -c '%D %i' /etc/crontab</code> first. This gives the following output:
30 </div><pre class="screen">805 1078319</pre><a id="id485125" class="indexterm"></a><a id="id1095053" class="indexterm"></a><a id="id1190078" class="indexterm"></a><div class="para">
31 <code class="computeroutput">805</code> is the base-16 (hexadecimal) device number. The lower two digits are the minor device number and the upper digits are the major number. <code class="computeroutput">1078319</code> is the <code class="command">inode</code> number. To start monitoring <code class="filename">/etc/crontab</code>, run <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (The <code class="command">0x</code> prefixes indicate base-16 values.
32 </div><div class="para">
33 The output of this command contains the name and ID of any process performing a read/write, the function it is performing (i.e. <code class="command">vfs_read</code> or <code class="command">vfs_write</code>), the device number (in hex format), and the <code class="command">inode</code> number. <a class="xref" href="inodewatchsect.html#inodewatchoutput">Example 5.10, “inodewatch.stp Sample Output”</a> contains the output of <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (when <code class="command">cat /etc/crontab</code> is executed while the script is running) :
34 </div><div class="example" id="inodewatchoutput"><h6>Example 5.10. <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">cat(16437) vfs_read 0x800005/1078319
35cat(16437) vfs_read 0x800005/1078319</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong>5.2.4. I/O Monitoring (By Device)</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong>5.2.6. Monitoring Changes to File Attributes</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/intro-systemtap-vs-others.html b/SystemTap_Beginners_Guide/intro-systemtap-vs-others.html
deleted file mode 100644
index dae64f10..00000000
--- a/SystemTap_Beginners_Guide/intro-systemtap-vs-others.html
+++ /dev/null
@@ -1,13 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>1.2. SystemTap Capabilities</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="introduction.html" title="Chapter 1. Introduction" /><link rel="prev" href="introduction.html" title="Chapter 1. Introduction" /><link rel="next" href="using-systemtap.html" title="Chapter 2. Using SystemTap" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="introduction.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="using-systemtap.html"><strong>Next</strong></a></li></ul><div class="section" id="intro-systemtap-vs-others"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="intro-systemtap-vs-others">1.2. SystemTap Capabilities</h2></div></div></div><a id="id470588" class="indexterm"></a><a id="id470599" class="indexterm"></a><div class="para">
4 SystemTap was originally developed to provide functionality for Fedora similar to previous Linux probing tools such as <span class="application"><strong>dprobes</strong></span> and the Linux Trace Toolkit. SystemTap aims to supplement the existing suite of Linux monitoring tools by providing users with the infrastructure to track kernel activity. In addition, SystemTap combines this capability with two things:
5 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
6 Flexibility: SystemTap's framework allows users to develop simple scripts for investigating and monitoring a wide variety of kernel functions, system calls, and other events that occur in kernel-space. With this, SystemTap is not so much a <span class="emphasis"><em>tool</em></span> as it is a system that allows you to develop your own kernel-specific forensic and monitoring tools.
7 </div></li><li class="listitem"><div class="para">
8 Ease-Of-Use: as mentioned earlier, SystemTap allows users to probe kernel-space events without having to resort to instrument, recompile, install, and reboot the kernel.
9 </div></li></ul></div><div class="para">
10 Most of the SystemTap scripts enumerated in <a class="xref" href="useful-systemtap-scripts.html">Chapter 5, <em>Useful SystemTap Scripts</em></a> demonstrate system forensics and monitoring capabilities not natively available with other similar tools (such as <code class="command">top</code>, <code class="command">oprofile</code>, or <code class="command">ps</code>). These scripts are provided to give readers extensive examples of the application of SystemTap, which in turn will educate them further on the capabilities they can employ when writing their own SystemTap scripts.
11 </div><a id="id680687" class="indexterm"></a><a id="id680699" class="indexterm"></a><div class="formalpara"><h5 class="formalpara" id="id680711">Limitations</h5>
12 The current iteration of SystemTap allows for a multitude of options when probing kernel-space events for a wide range of kernels. However, SystemTap's ability to probe user-space events is dependent on kernel support (the Utrace mechanism) that is unavailable in many kernels. Thus, only some kernel versions support user-space probing. At present, the developmental efforts of the SystemTap community are geared towards improving SystemTap's user-space probing capabilities.
13 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="introduction.html"><strong>Prev</strong>Chapter 1. Introduction</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="using-systemtap.html"><strong>Next</strong>Chapter 2. Using SystemTap</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/introduction.html b/SystemTap_Beginners_Guide/introduction.html
deleted file mode 100644
index f1c3716e..00000000
--- a/SystemTap_Beginners_Guide/introduction.html
+++ /dev/null
@@ -1,19 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 1. Introduction</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="pr01s02.html" title="2. We Need Feedback!" /><link rel="next" href="intro-systemtap-vs-others.html" title="1.2. SystemTap Capabilities" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="pr01s02.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="intro-systemtap-vs-others.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="introduction" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 1. Introduction</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="introduction.html#goals">1.1. Documentation Goals</a></span></dt><dt><span class="section"><a href="intro-systemtap-vs-others.html">1.2. SystemTap Capabilities</a></span></dt></dl></div><a id="id1188359" class="indexterm"></a><a id="id753376" class="indexterm"></a><div class="para">
4 SystemTap is a tracing and probing tool that allows users to study and monitor the activities of the computer system (particularly, the kernel) in fine detail. It provides information similar to the output of tools like <code class="command">netstat</code>, <code class="command">ps</code>, <code class="command">top</code>, and <code class="command">iostat</code>; however, SystemTap is designed to provide more filtering and analysis options for collected information.
5 </div><div class="para">
6 For system administrators, SystemTap can be used as a performance monitoring tool for Fedora. It is most useful when other similar tools cannot precisely pinpoint a bottleneck in the system, requiring a deep analysis of kernel activity. In the same manner, application developers can also use SystemTap to monitor, in finer detail, how their application behaves within the Linux system.
7 </div><div class="section" id="goals"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="goals">1.1. Documentation Goals</h2></div></div></div><a id="id786621" class="indexterm"></a><a id="id1171252" class="indexterm"></a><a id="id647383" class="indexterm"></a><a id="id1115192" class="indexterm"></a><div class="para">
8 SystemTap provides the infrastructure to monitor the running Linux kernel for detailed analysis. This can assist administrators and developers in identifying the underlying cause of a bug or performance problem.
9 </div><div class="para">
10 Without SystemTap, monitoring the activity of a running kernel would require a tedious instrument, recompile, install, and reboot sequence. SystemTap is designed to eliminate this, allowing users to gather the same information by simply running user-written SystemTap scripts.
11 </div><div class="para">
12 However, SystemTap was initially designed for users with intermediate to advanced knowledge of the kernel. This makes SystemTap less useful to administrators or developers with limited knowledge of and experience with the Linux kernel. Moreover, much of the existing SystemTap documentation is similarly aimed at knowledgeable and experienced users. This makes learning the tool similarly difficult.
13 </div><div class="para">
14 To lower these barriers the SystemTap Beginners Guide was written with the following goals:
15 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
16 To introduce users to SystemTap, familiarize them with its architecture, and provide setup instructions.
17 </div></li><li class="listitem"><div class="para">
18 To provide pre-written SystemTap scripts for monitoring detailed activity in different components of the system, along with instructions on how to run them and analyze their output.
19 </div></li></ul></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="pr01s02.html"><strong>Prev</strong>2. We Need Feedback!</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="intro-systemtap-vs-others.html"><strong>Next</strong>1.2. SystemTap Capabilities</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/ioblktimesect.html b/SystemTap_Beginners_Guide/ioblktimesect.html
deleted file mode 100644
index 87e98b96..00000000
--- a/SystemTap_Beginners_Guide/ioblktimesect.html
+++ /dev/null
@@ -1,47 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.7. Periodically Print I/O Block Time</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="inodewatch2sect.html" title="5.2.6. Monitoring Changes to File Attributes" /><link rel="next" href="mainsect-profiling.html" title="5.3. Profiling" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="inodewatch2sect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="mainsect-profiling.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="ioblktimesect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="ioblktimesect">5.2.7. Periodically Print I/O Block Time</h3></div></div></div><a id="id583913" class="indexterm"></a><a id="id1145283" class="indexterm"></a><a id="id552480" class="indexterm"></a><a id="id731417" class="indexterm"></a><a id="id495314" class="indexterm"></a><div class="para">
4 This section describes how to track the amount of time each block I/O requests spends waiting for completion. This is useful in determining whether there are too many outstanding block I/O operations at any given time.
5 </div><div class="formalpara" id="ioblktime"><h5 class="formalpara">ioblktime.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9global req_time, etimes
10
11probe ioblock.request
12{
13 req_time[$bio] = gettimeofday_us()
14}
15
16probe ioblock.end
17{
18 t = gettimeofday_us()
19 s = req_time[$bio]
20 delete req_time[$bio]
21 if (s) {
22 etimes[devname, bio_rw_str(rw)] &lt;&lt;&lt; t - s
23 }
24}
25
26probe timer.s(10), end {
27 ansi_clear_screen()
28 printf("%10s %3s %10s %10s %10s\n",
29 "device", "rw", "total (us)", "count", "avg (us)")
30 foreach ([dev,rw] in etimes - limit 20) {
31 printf("%10s %3s %10d %10d %10d\n", dev, rw,
32 @sum(etimes[dev,rw]), @count(etimes[dev,rw]), @avg(etimes[dev,rw]))
33 }
34 delete etimes
35}
36</pre>
37 </div><div class="para">
38 <a class="xref" href="ioblktimesect.html#ioblktime">ioblktime.stp</a> computes the average waiting time for block I/O per device, and prints a list every 10 seconds. As always, you can revise this refresh rate by editing the specified value in <code class="command">probe timer.s(10), end {</code>.
39 </div><div class="para">
40 In some cases, there can be too many outstanding block I/O operations, at which point the script can exceed the default number of <code class="command">MAXMAPENTRIES</code>. <code class="command">MAXMAPENTRIES</code> is the maximum number of rows in an array if the array size is not specified explicitly when declared. If the script exceeds the default <code class="command">MAXMAPENTRIES</code> value of 2048, run the script again with the <code class="command">stap</code> option <code class="command">-DMAXMAPENTRIES=10000</code>.
41 </div><div class="example" id="ioblktimeoutput"><h6>Example 5.12. <a class="xref" href="ioblktimesect.html#ioblktime">ioblktime.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen"> device rw total (us) count avg (us)
42 sda W 9659 6 1609
43 dm-0 W 20278 6 3379
44 dm-0 R 20524 5 4104
45 sda R 19277 5 3855</pre></div></div><br class="example-break" /><div class="para">
46 <a class="xref" href="ioblktimesect.html#ioblktimeoutput">Example 5.12, “ioblktime.stp Sample Output”</a> displays the device name, operations performed (<code class="command">rw</code>), total wait time of all operations (<code class="command">total(us)</code>), number of operations (<code class="command">count</code>), and average wait time for all those operations (<code class="command">avg (us)</code>). The times tallied by the script are in microseconds.
47 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="inodewatch2sect.html"><strong>Prev</strong>5.2.6. Monitoring Changes to File Attributes</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="mainsect-profiling.html"><strong>Next</strong>5.3. Profiling</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/iotimesect.html b/SystemTap_Beginners_Guide/iotimesect.html
deleted file mode 100644
index 231e6d3b..00000000
--- a/SystemTap_Beginners_Guide/iotimesect.html
+++ /dev/null
@@ -1,119 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.2. Tracking I/O Time For Each File Read or Write</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="mainsect-disk.html" title="5.2. Disk" /><link rel="next" href="traceiosect.html" title="5.2.3. Track Cumulative IO" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="mainsect-disk.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="traceiosect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="iotimesect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="iotimesect">5.2.2. Tracking I/O Time For Each File Read or Write</h3></div></div></div><a id="id797581" class="indexterm"></a><a id="id792126" class="indexterm"></a><a id="id647776" class="indexterm"></a><a id="id597006" class="indexterm"></a><a id="id1157843" class="indexterm"></a><div class="para">
4 This section describes how to monitor the amount of time it takes for each process to read from or write to any file. This is useful if you wish to determine what files are slow to load on a given system.
5 </div><div class="formalpara" id="iotime"><h5 class="formalpara">iotime.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9/*
10 * Copyright (C) 2006-2007 Red Hat Inc.
11 *
12 * This copyrighted material is made available to anyone wishing to use,
13 * modify, copy, or redistribute it subject to the terms and conditions
14 * of the GNU General Public License v.2.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.
18 *
19 * Print out the amount of time spent in the read and write systemcall
20 * when each file opened by the process is closed. Note that the systemtap
21 * script needs to be running before the open operations occur for
22 * the script to record data.
23 *
24 * This script could be used to to find out which files are slow to load
25 * on a machine. e.g.
26 *
27 * stap iotime.stp -c 'firefox'
28 *
29 * Output format is:
30 * timestamp pid (executabable) info_type path ...
31 *
32 * 200283135 2573 (cupsd) access /etc/printcap read: 0 write: 7063
33 * 200283143 2573 (cupsd) iotime /etc/printcap time: 69
34 *
35 */
36
37global start
38global time_io
39
40function timestamp:long() { return gettimeofday_us() - start }
41
42function proc:string() { return sprintf("%d (%s)", pid(), execname()) }
43
44probe begin { start = gettimeofday_us() }
45
46global filehandles, fileread, filewrite
47
48probe syscall.open.return {
49 filename = user_string($filename)
50 if ($return != -1) {
51 filehandles[pid(), $return] = filename
52 } else {
53 printf("%d %s access %s fail\n", timestamp(), proc(), filename)
54 }
55}
56
57probe syscall.read.return {
58 p = pid()
59 fd = $fd
60 bytes = $return
61 time = gettimeofday_us() - @entry(gettimeofday_us())
62 if (bytes &gt; 0)
63 fileread[p, fd] += bytes
64 time_io[p, fd] &lt;&lt;&lt; time
65}
66
67probe syscall.write.return {
68 p = pid()
69 fd = $fd
70 bytes = $return
71 time = gettimeofday_us() - @entry(gettimeofday_us())
72 if (bytes &gt; 0)
73 filewrite[p, fd] += bytes
74 time_io[p, fd] &lt;&lt;&lt; time
75}
76
77probe syscall.close {
78 if ([pid(), $fd] in filehandles) {
79 printf("%d %s access %s read: %d write: %d\n",
80 timestamp(), proc(), filehandles[pid(), $fd],
81 fileread[pid(), $fd], filewrite[pid(), $fd])
82 if (@count(time_io[pid(), $fd]))
83 printf("%d %s iotime %s time: %d\n", timestamp(), proc(),
84 filehandles[pid(), $fd], @sum(time_io[pid(), $fd]))
85 }
86 delete fileread[pid(), $fd]
87 delete filewrite[pid(), $fd]
88 delete filehandles[pid(), $fd]
89 delete time_io[pid(),$fd]
90}
91</pre>
92 </div><div class="para">
93 <a class="xref" href="iotimesect.html#iotime">iotime.stp</a> tracks each time a system call opens, closes, reads from, and writes to a file. For each file any system call accesses, <a class="xref" href="iotimesect.html#iotime">iotime.stp</a> counts the number of microseconds it takes for any reads or writes to finish and tracks the amount of data (in bytes) read from or written to the file.
94 </div><a id="id680413" class="indexterm"></a><a id="id496335" class="indexterm"></a><a id="id540703" class="indexterm"></a><div class="para">
95 <a class="xref" href="iotimesect.html#iotime">iotime.stp</a> also uses the local variable <code class="command">$count</code> to track the amount of data (in bytes) that any system call <span class="emphasis"><em>attempts</em></span> to read or write. Note that <code class="command">$return</code> (as used in <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> from <a class="xref" href="mainsect-disk.html#disktop">Section 5.2.1, “Summarizing Disk Read/Write Traffic”</a>) stores the <span class="emphasis"><em>actual</em></span> amount of data read/written. <code class="command">$count</code> can only be used on probes that track data reads or writes (e.g. <code class="command">syscall.read</code> and <code class="command">syscall.write</code>).
96 </div><div class="example" id="iotimeoutput"><h6>Example 5.7. <a class="xref" href="iotimesect.html#iotime">iotime.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
97825946 3364 (NetworkManager) access /sys/class/net/eth0/carrier read: 8190 write: 0
98825955 3364 (NetworkManager) iotime /sys/class/net/eth0/carrier time: 9
99[...]
100117061 2460 (pcscd) access /dev/bus/usb/003/001 read: 43 write: 0
101117065 2460 (pcscd) iotime /dev/bus/usb/003/001 time: 7
102[...]
1033973737 2886 (sendmail) access /proc/loadavg read: 4096 write: 0
1043973744 2886 (sendmail) iotime /proc/loadavg time: 11
105[...]</pre></div></div><br class="example-break" /><div class="para">
106 <a class="xref" href="iotimesect.html#iotimeoutput">Example 5.7, “iotime.stp Sample Output”</a> prints out the following data:
107 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
108 A timestamp, in microseconds.
109 </div></li><li class="listitem"><div class="para">
110 Process ID and process name.
111 </div></li><li class="listitem"><div class="para">
112 An <code class="computeroutput">access</code> or <code class="computeroutput">iotime</code> flag.
113 </div></li><li class="listitem"><div class="para">
114 The file accessed.
115 </div></li></ul></div><div class="para">
116 If a process was able to read or write any data, a pair of <code class="computeroutput">access</code> and <code class="computeroutput">iotime</code> lines should appear together. The <code class="computeroutput">access</code> line's timestamp refers to the time that a given process started accessing a file; at the end of the line, it will show the amount of data read/written (in bytes). The <code class="computeroutput">iotime</code> line will show the amount of time (in microseconds) that the process took in order to perform the read or write.
117 </div><div class="para">
118 If an <code class="computeroutput">access</code> line is not followed by an <code class="computeroutput">iotime</code> line, it simply means that the process did not read or write any data.
119 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="mainsect-disk.html"><strong>Prev</strong>5.2. Disk</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="traceiosect.html"><strong>Next</strong>5.2.3. Track Cumulative IO</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/ix01.html b/SystemTap_Beginners_Guide/ix01.html
deleted file mode 100644
index 1bb47dd5..00000000
--- a/SystemTap_Beginners_Guide/ix01.html
+++ /dev/null
@@ -1,3 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Index</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="appe-Publican-Revision_History.html" title="Appendix A. Revision History" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="appe-Publican-Revision_History.html"><strong>Prev</strong></a></li><li class="next"></li></ul><div class="index" id="id516697"><div class="titlepage"><div><div><h2 class="title">Index</h2></div></div></div><div class="index"><div class="indexdiv"><h3>Symbols</h3><dl><dt>$count</dt><dd><dl><dt>sample usage</dt><dd><dl><dt>local variables, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt></dl></dd></dl></dd><dt>$return</dt><dd><dl><dt>sample usage</dt><dd><dl><dt>local variables, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a>, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd></dl></dd><dt>@avg (integer extractor)</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>@count (integer extractor)</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>@max (integer extractor)</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>@min (integer extractor)</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>@sum (integer extractor)</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>A</h3><dl><dt>adding values to statistical aggregates</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>advantages of cross-instrumentation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>aggregate element not found</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>aggregates (statistical)</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd><dt>aggregation overflow</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>algebraic formulas using arrays</dt><dd><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>architecture notation, determining, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>architecture of SystemTap, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt><dt>array locals not supported</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>array operations</dt><dd><dl><dt>assigning associated values, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt><dd><dl><dt>associating timestamps to process names, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd><dt>associative arrays, <a class="indexterm" href="arrayoperators.html">Array Operations in SystemTap</a></dt><dt>clearing arrays/array elements, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dd><dl><dt>delete operator, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>multiple array operations within the same probe, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>virtual file system reads (non-cumulative), tallying, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd><dt>computing for statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dd><dl><dt>@avg (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@count (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@max (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@min (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@sum (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>adding values to statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>count (operator), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>extracting data collected by statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd><dt>conditional statements, using arrays in, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt><dd><dl><dt>testing for array membership, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd><dt>deleting arrays and array elements, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>incrementing associated values, <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt><dd><dl><dt>tallying virtual file system reads (VFS reads), <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt></dl></dd><dt>multiple elements in an array, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>processing multiple elements in an array, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dd><dl><dt>cumulative virtual file system reads, tallying, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>iterations, processing elements in an array as, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>limiting the output of foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>ordering the output of foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd><dt>reading values from arrays, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dd><dl><dt>computing for timestamp deltas, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dt>empty unique keys, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dt>using arrays in simple computations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dd><dl><dt>(see also associative arrays)</dt></dl></dd><dt>assigning associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt><dd><dl><dt>associating timestamps to process names, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd><dt>associating timestamps to process names</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd></dl></dd><dt>associated values</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>associating timestamps to process names</dt><dd><dl><dt>assigning associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd></dl></dd><dt>associative arrays</dt><dd><dl><dt>introduction, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dd><dl><dt>associated values, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dt>example, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dt>index expression, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dt>key pairs, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dt>syntax, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt><dt>unique keys, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>asynchronous events</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>B</h3><dl><dt>begin</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>building instrumentation modules from SystemTap scripts, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>building kernel modules from SystemTap scripts, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>call graph tracing</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>capabilities of SystemTap</dt><dd><dl><dt>Introduction, <a class="indexterm" href="intro-systemtap-vs-others.html">SystemTap Capabilities</a></dt></dl></dd><dt>changes to file attributes, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatch2sect.html">Monitoring Changes to File Attributes</a></dt></dl></dd><dt>clearing arrays/array elements</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dd><dl><dt>delete operator, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>multiple array operations within the same probe, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>virtual file system reads (non-cumulative), tallying, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd></dl></dd><dt>command-line arguments</dt><dd><dl><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt></dl></dd></dl></dd><dt>compiling instrumentation/kernel modules from SystemTap scripts, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>components</dt><dd><dl><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dd><dl><dt>@avg (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@count (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@max (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@min (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@sum (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>adding values to statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>count (operator), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>extracting data collected by statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>computing for timestamp deltas</dt><dd><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>conditional operators</dt><dd><dl><dt>conditional statements</dt><dd><dl><dt>handlers, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd></dl></dd><dt>conditional statements, using arrays in</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt><dd><dl><dt>testing for array membership, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd></dl></dd><dt>CONFIG_HZ, computing for, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt><dt>contended user-space locks (futex contentions), identifying</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd><dt>copy fault</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>count operator</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array (operator), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>counting function calls</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt></dl></dd><dt>CPU ticks</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt></dl></dd><dt>cpu()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>cross-compiling, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>cross-instrumentation</dt><dd><dl><dt>advantages of, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>building kernel modules from SystemTap scripts, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>configuration</dt><dd><dl><dt>host system and target system, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>generating instrumentation from SystemTap scripts, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>host system, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>instrumentation module, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>target kernel, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>target system, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>ctime()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>ctime(), example of usage</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>cumulative I/O, tracking</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd><dt>cumulative virtual file system reads, tallying</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt>delete operator</dt><dd><dl><dt>clearing arrays/array elements</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd></dl></dd><dt>determining architecture notation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>determining the kernel version, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>determining time spent in kernel and user space</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt></dl></dd><dt>device I/O, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>device number of a file (integer format)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>disk I/O traffic, summarizing</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>division by 0</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>documentation goals</dt><dd><dl><dt>Introduction, <a class="indexterm" href="introduction.html#goals">Documentation Goals</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>embedded code in unprivileged script</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>empty unique keys</dt><dd><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>end</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>errors</dt><dd><dl><dt>parse/semantics error, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dd><dl><dt>embedded code in unprivileged script, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>expected symbol/array index expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>grammatical/typographical script error, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>guru mode, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>invalid values to variables/arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>libdwfl failure, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>no match for probe point, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>non-global arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>probe mismatch, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>type mismatch for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved function call, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved target-symbol expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved type for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>variable modified during 'foreach', <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd><dt>runtime errors/warnings, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dd><dl><dt>aggregate element not found, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>aggregation overflow, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>copy fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>division by 0, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXACTION exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXNESTING exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>number of errors: N, skipped probes: M, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>pointer dereference fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>event types</dt><dd><dl><dt>Understanding How SystemTap Works, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt></dl></dd><dt>Events</dt><dd><dl><dt>asynchronous events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>begin, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>end, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>examples of synchronous and asynchronous events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>introduction, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>kernel.function("function"), <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>kernel.trace("tracepoint"), <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>module("module"), <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>synchronous events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>syscall.system_call, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>timer events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>user-space, <a class="indexterm" href="userspace-probing.html#uevents">User-Space Events</a></dt><dt>vfs.file_operation, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>wildcards, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>events and handlers, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt><dt>events wildcards, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>example</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>example of multiple command-line arguments</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>examples of synchronous and asynchronous events</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html">Useful SystemTap Scripts</a></dt><dd><dl><dt>call graph tracing, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>CPU ticks, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt><dt>ctime(), example of usage, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt><dt>determining time spent in kernel and user space, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt><dt>file device number (integer format), <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>futex (lock) contentions, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>futex system call, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>identifying contended user-space locks (i.e. futex contentions), <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>if/else conditionals, alternative syntax, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a></dt><dt>inode number, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>monitoring changes to file attributes, <a class="indexterm" href="inodewatch2sect.html">Monitoring Changes to File Attributes</a></dt><dt>monitoring device I/O, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>monitoring I/O block time, <a class="indexterm" href="ioblktimesect.html">Periodically Print I/O Block Time</a></dt><dt>monitoring I/O time, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt><dt>monitoring incoming TCP connections, <a class="indexterm" href="useful-systemtap-scripts.html#tcpconnectionssect">Monitoring Incoming TCP Connections</a></dt><dt>monitoring polling applications, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a></dt><dt>monitoring reads and writes to a file, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>monitoring system calls, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt><dt>monitoring system calls (volume per process), <a class="indexterm" href="syscallsbyprocpidsect.html">Tracking System Call Volume Per Process</a></dt><dt>monitoring TCP packets, <a class="indexterm" href="useful-systemtap-scripts.html#tcpdumplikesect">Monitoring TCP Packets</a></dt><dt>multiple command-line arguments, example of, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>net/socket.c, tracing functions from, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt><dt>network profiling, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt><dt>stat -c, determining file device number (integer format), <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>stat -c, determining whole device number, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>summarizing disk I/O traffic, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt><dt>tallying function calls, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt><dt>thread_indent(), sample usage, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>timer.ms(), sample usage, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt><dt>timer.s(), sample usage, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a>, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt><dt>tracing functions called in network socket code, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt><dt>tracking cumulative I/O, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt><dt>trigger function, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>usrdev2kerndev(), <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>whole device number (usage as a command-line argument), <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>exceeded MAXACTION</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>exceeded MAXNESTING</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>exit()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>expected symbol/array index expression</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>extracting data collected by statistical aggregates</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>fedoradebugurl.sh, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>feedback</dt><dd><dl><dt>contact information for this manual, <a class="indexterm" href="pr01s02.html">We Need Feedback!</a></dt></dl></dd><dt>file attributes, monitoring changes to</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatch2sect.html">Monitoring Changes to File Attributes</a></dt></dl></dd><dt>file device number (integer format)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>file reads/writes, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>flight recorder mode, <a class="indexterm" href="using-usage.html#flight-recorder">SystemTap Flight Recorder Mode</a></dt><dd><dl><dt>file mode, <a class="indexterm" href="using-usage.html#file-flight-recorder">File Flight Recorder</a></dt><dt>in-memory mode, <a class="indexterm" href="using-usage.html#memory-flight-recorder">In-memory Flight Recorder</a></dt></dl></dd><dt>for loops</dt><dd><dl><dt>conditional statements</dt><dd><dl><dt>handlers, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd></dl></dd><dt>foreach</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd><dt>format</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>format and syntax</dt><dd><dl><dt>printf(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt></dl></dd><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>format specifiers</dt><dd><dl><dt>printf(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>format strings</dt><dd><dl><dt>printf(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>function call (unresolved)</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>function calls (incoming/outgoing), tracing</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>function calls, tallying</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt></dl></dd><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dd><dl><dt>cpu(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>ctime(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>gettimeofday_s(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>pp(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd><dt>target(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>thread_indent(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>tid(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>uid(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>functions (used in handlers)</dt><dd><dl><dt>exit(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>functions called in network socket code, tracing</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt></dl></dd><dt>futex (lock) contentions</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd><dt>futex contention, definition</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd><dt>futex contentions, identifying</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd><dt>futex system call</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>G</h3><dl><dt>gettimeofday_s()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>global</dt><dd><dl><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt></dl></dd></dl></dd><dt>goals, documentation</dt><dd><dl><dt>Introduction, <a class="indexterm" href="introduction.html#goals">Documentation Goals</a></dt></dl></dd><dt>grammatical/typographical script error</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>guru mode</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>H</h3><dl><dt>handler functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>handlers</dt><dd><dl><dt>conditional statements, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dd><dl><dt>conditional operators, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>for loops, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>if/else, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>while loops, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd><dt>introduction, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>SystemTap handler constructs, <a class="indexterm" href="scriptconstructions.html">Basic SystemTap Handler Constructs</a></dt><dd><dl><dt>command-line arguments, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt><dt>global, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt><dt>syntax and format, <a class="indexterm" href="scriptconstructions.html">Basic SystemTap Handler Constructs</a></dt><dt>variable notations, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt><dt>variables, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt></dl></dd><dt>target variables, <a class="indexterm" href="targetvariables.html">Target Variables</a></dt></dl></dd><dt>handlers and events, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt><dd><dl><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>heaviest disk reads/writes, identifying</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>host system</dt><dd><dl><dt>cross-instrumentation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>host system and target system</dt><dd><dl><dt>cross-instrumentation</dt><dd><dl><dt>configuration, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>I</h3><dl><dt>I/O block time, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="ioblktimesect.html">Periodically Print I/O Block Time</a></dt></dl></dd><dt>I/O monitoring (by device)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>I/O time, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt></dl></dd><dt>I/O traffic, summarizing</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>identifier type mismatch</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>identifying contended user-space locks (i.e. futex contentions)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt></dl></dd><dt>identifying heaviest disk reads/writes</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>if/else</dt><dd><dl><dt>conditional statements</dt><dd><dl><dt>handlers, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd></dl></dd><dt>if/else conditionals, alternative syntax</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a></dt></dl></dd><dt>if/else statements, using arrays in</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd><dt>incoming TCP connections, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#tcpconnectionssect">Monitoring Incoming TCP Connections</a></dt></dl></dd><dt>incoming/outgoing function calls, tracing</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>incrementing associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt><dd><dl><dt>tallying virtual file system reads (VFS reads), <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt></dl></dd></dl></dd><dt>index expression</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>initial testing, <a class="indexterm" href="using-systemtap.html#testing">Initial Testing</a></dt><dt>inode number</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>Installation</dt><dd><dl><dt>fedoradebugurl.sh, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>initial testing, <a class="indexterm" href="using-systemtap.html#testing">Initial Testing</a></dt><dt>kernel information packages, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>kernel version, determining the, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>required packages, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>Setup and Installation, <a class="indexterm" href="using-systemtap.html#using-setup">Installation and Setup</a></dt><dt>systemtap package, <a class="indexterm" href="using-systemtap.html#installproper">Installing SystemTap</a></dt><dt>systemtap-runtime package, <a class="indexterm" href="using-systemtap.html#installproper">Installing SystemTap</a></dt></dl></dd><dt>instrumentation module</dt><dd><dl><dt>cross-instrumentation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>instrumentation modules from SystemTap scripts, building, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>integer extractors</dt><dd><dl><dt>computing for statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd></dl></dd><dt>Introduction</dt><dd><dl><dt>capabilities of SystemTap, <a class="indexterm" href="intro-systemtap-vs-others.html">SystemTap Capabilities</a></dt><dt>documentation goals, <a class="indexterm" href="introduction.html#goals">Documentation Goals</a></dt><dt>goals, documentation, <a class="indexterm" href="introduction.html#goals">Documentation Goals</a></dt><dt>limitations of SystemTap, <a class="indexterm" href="intro-systemtap-vs-others.html">SystemTap Capabilities</a></dt><dt>performance monitoring, <a class="indexterm" href="introduction.html">Introduction</a></dt></dl></dd><dt>invalid division</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>invalid values to variables/arrays</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>iterations, processing elements in an array as</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>K</h3><dl><dt>kernel and user space, determining time spent in</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt></dl></dd><dt>kernel information packages, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>kernel modules from SystemTap scripts, building, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>kernel version, determining the, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>kernel.function("function")</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>kernel.trace("tracepoint")</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>key pairs</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt>libdwfl failure</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>limitations of SystemTap</dt><dd><dl><dt>Introduction, <a class="indexterm" href="intro-systemtap-vs-others.html">SystemTap Capabilities</a></dt></dl></dd><dt>limiting the output of foreach</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd><dt>local variables</dt><dd><dl><dt>name, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>sample usage</dt><dd><dl><dt>$count, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt><dt>$return, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a>, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>M</h3><dl><dt>MAXACTION exceeded</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>MAXNESTING exceeded</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>membership (in array), testing for</dt><dd><dl><dt>conditional statements, using arrays in</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd></dl></dd><dt>module("module")</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>monitoring changes to file attributes</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatch2sect.html">Monitoring Changes to File Attributes</a></dt></dl></dd><dt>monitoring cumulative I/O</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd><dt>monitoring device I/O</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>monitoring I/O block time</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="ioblktimesect.html">Periodically Print I/O Block Time</a></dt></dl></dd><dt>monitoring I/O time</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt></dl></dd><dt>monitoring incoming TCP connections</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#tcpconnectionssect">Monitoring Incoming TCP Connections</a></dt></dl></dd><dt>monitoring polling applications</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a></dt></dl></dd><dt>monitoring reads and writes to a file</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>monitoring system calls</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt></dl></dd><dt>monitoring system calls (volume per process)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="syscallsbyprocpidsect.html">Tracking System Call Volume Per Process</a></dt></dl></dd><dt>monitoring TCP packets</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#tcpdumplikesect">Monitoring TCP Packets</a></dt></dl></dd><dt>multiple array operations within the same probe</dt><dd><dl><dt>clearing arrays/array elements</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd></dl></dd><dt>multiple command-line arguments, example of</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>N</h3><dl><dt>name</dt><dd><dl><dt>local variables, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>net/socket.c, tracing functions from</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt></dl></dd><dt>network profiling</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt></dl></dd><dt>network socket code, tracing functions called in</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt></dl></dd><dt>network traffic, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt></dl></dd><dt>no match for probe point</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>non-global arrays</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>number of errors: N, skipped probes: M</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>O</h3><dl><dt>operations</dt><dd><dl><dt>assigning associated values</dt><dd><dl><dt>associating timestamps to process names, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd><dt>associative arrays, <a class="indexterm" href="arrayoperators.html">Array Operations in SystemTap</a></dt><dt>clearing arrays/array elements, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dd><dl><dt>delete operator, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>multiple array operations within the same probe, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>virtual file system reads (non-cumulative), tallying, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd><dt>computing for statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dd><dl><dt>@avg (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@count (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@max (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@min (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>@sum (integer extractor), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>adding values to statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>count (operator), <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt><dt>extracting data collected by statistical aggregates, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd><dt>conditional statements, using arrays in, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt><dd><dl><dt>testing for array membership, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd><dt>deleting arrays and array elements, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt><dt>incrementing associated values, <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt><dd><dl><dt>tallying virtual file system reads (VFS reads), <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt></dl></dd><dt>multiple elements in an array, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>processing multiple elements in an array, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dd><dl><dt>cumulative virtual file system reads, tallying, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>iterations, processing elements in an array as, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>limiting the output of foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>ordering the output of foreach, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd><dt>reading values from arrays, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dd><dl><dt>computing for timestamp deltas, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dt>empty unique keys, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dt>using arrays in simple computations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>options, stap</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>ordering the output of foreach</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd><dt>overflow of aggregation</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>P</h3><dl><dt>packages required to run SystemTap, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dd><dl><dt>embedded code in unprivileged script, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>expected symbol/array index expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>grammatical/typographical script error, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>guru mode, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>invalid values to variables/arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>libdwfl failure, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>no match for probe point, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>non-global arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>probe mismatch, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>type mismatch for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved function call, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved target-symbol expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved type for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>variable modified during 'foreach', <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>performance monitoring</dt><dd><dl><dt>Introduction, <a class="indexterm" href="introduction.html">Introduction</a></dt></dl></dd><dt>pointer dereference fault</dt><dd><dl><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>polling applications, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a></dt></dl></dd><dt>pp()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>printf()</dt><dd><dl><dt>format specifiers, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>format strings, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>syntax and format, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>printing I/O activity (cumulative)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd><dt>printing I/O block time (periodically)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="ioblktimesect.html">Periodically Print I/O Block Time</a></dt></dl></dd><dt>probe mismatch</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>probe point (no match for)</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>probes</dt><dd><dl><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt><dt>cumulative virtual file system reads, tallying</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd><dt>foreach</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd><dt>limiting the output of foreach</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd><dt>ordering the output of foreach</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd><dt>profiling the network</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>R</h3><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dd><dl><dt>empty unique keys, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt><dt>using arrays in simple computations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd><dt>computing for timestamp deltas</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>reads/writes to a file, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>required packages, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>RPMs required to run SystemTap, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>running scripts from standard input, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>running SystemTap scripts</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>runtime errors/warnings</dt><dd><dl><dt>understainding SystemTap errors, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dd><dl><dt>aggregate element not found, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>aggregation overflow, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>copy fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>division by 0, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXACTION exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXNESTING exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>number of errors: N, skipped probes: M, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>pointer dereference fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt>script examples</dt><dd><dl><dt>call graph tracing, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>CPU ticks, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt><dt>ctime(), example of usage, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt><dt>determining time spent in kernel and user space, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt><dt>file device number (integer format), <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>futex (lock) contentions, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>futex system call, <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>identifying contended user-space locks (i.e. futex contentions), <a class="indexterm" href="futexcontentionsect.html">Identifying Contended User-Space Locks</a></dt><dt>if/else conditionals, alternative syntax, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a></dt><dt>inode number, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>monitoring changes to file attributes, <a class="indexterm" href="inodewatch2sect.html">Monitoring Changes to File Attributes</a></dt><dt>monitoring device I/O, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>monitoring I/O block time, <a class="indexterm" href="ioblktimesect.html">Periodically Print I/O Block Time</a></dt><dt>monitoring I/O time, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt><dt>monitoring incoming TCP connections, <a class="indexterm" href="useful-systemtap-scripts.html#tcpconnectionssect">Monitoring Incoming TCP Connections</a></dt><dt>monitoring polling applications, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a></dt><dt>monitoring reads and writes to a file, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>monitoring system calls, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt><dt>monitoring system calls (volume per process), <a class="indexterm" href="syscallsbyprocpidsect.html">Tracking System Call Volume Per Process</a></dt><dt>monitoring TCP packets, <a class="indexterm" href="useful-systemtap-scripts.html#tcpdumplikesect">Monitoring TCP Packets</a></dt><dt>multiple command-line arguments, example of, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>net/socket.c, tracing functions from, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt><dt>network profiling, <a class="indexterm" href="useful-systemtap-scripts.html#nettopsect">Network Profiling</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt><dt>stat -c, determining file device number (integer format), <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt><dt>stat -c, determining whole device number, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>summarizing disk I/O traffic, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt><dt>tallying function calls, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt><dt>thread_indent(), sample usage, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>timer.ms(), sample usage, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt><dt>timer.s(), sample usage, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a>, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt><dt>tracing functions called in network socket code, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt><dt>tracking cumulative I/O, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt><dt>trigger function, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt><dt>usrdev2kerndev(), <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt><dt>whole device number (usage as a command-line argument), <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dd><dl><dt>components, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>events and handlers, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>format and syntax, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>functions, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>probes, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>statement blocks, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>sessions, SystemTap, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt><dt>Setup and Installation, <a class="indexterm" href="using-systemtap.html#using-setup">Installation and Setup</a></dt><dt>Stack backtrace</dt><dd><dl><dt>user-space, <a class="indexterm" href="ustack.html">User-Space Stack Backtraces</a></dt></dl></dd><dt>standard input, running scripts from</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>stap</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>stap options, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>stapdev</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>staprun</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>stapusr</dt><dd><dl><dt>Usage, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>stat -c, determining file device number (integer format)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd><dt>stat -c, determining whole device number</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>statement blocks</dt><dd><dl><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>statistical aggregates</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-aggregates.html">Computing for Statistical Aggregates</a></dt></dl></dd><dt>summarizing disk I/O traffic</dt><dd><dl><dt>script examples, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a></dt></dl></dd><dt>synchronous events</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>syntax</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>syntax and format</dt><dd><dl><dt>printf(), <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="scriptconstructions.html">Basic SystemTap Handler Constructs</a></dt></dl></dd><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd></dl></dd><dt>syscall.system_call</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>system calls volume (per process), monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="syscallsbyprocpidsect.html">Tracking System Call Volume Per Process</a></dt></dl></dd><dt>system calls, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt></dl></dd><dt>SystemTap architecture, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt><dt>SystemTap handlers</dt><dd><dl><dt>SystemTap handler constructs, <a class="indexterm" href="scriptconstructions.html">Basic SystemTap Handler Constructs</a></dt><dd><dl><dt>syntax and format, <a class="indexterm" href="scriptconstructions.html">Basic SystemTap Handler Constructs</a></dt></dl></dd></dl></dd><dt>systemtap package, <a class="indexterm" href="using-systemtap.html#installproper">Installing SystemTap</a></dt><dt>SystemTap script functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>SystemTap scripts</dt><dd><dl><dt>introduction, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dd><dl><dt>components, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>events and handlers, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>format and syntax, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>functions, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>probes, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt><dt>statement blocks, <a class="indexterm" href="scripts.html">SystemTap Scripts</a></dt></dl></dd><dt>useful examples, <a class="indexterm" href="useful-systemtap-scripts.html">Useful SystemTap Scripts</a></dt></dl></dd><dt>SystemTap scripts, how to run, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>SystemTap sessions, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt><dt>SystemTap statements</dt><dd><dl><dt>conditional statements, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dd><dl><dt>conditional operators, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>for loops, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>if/else, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt><dt>while loops, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd><dt>SystemTap handler constructs</dt><dd><dl><dt>command-line arguments, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt><dt>global, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt><dt>variable notations, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt><dt>variables, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt></dl></dd></dl></dd><dt>systemtap-runtime package, <a class="indexterm" href="using-systemtap.html#installproper">Installing SystemTap</a></dt><dt>systemtap-testsuite package</dt><dd><dl><dt>sample scripts, <a class="indexterm" href="useful-systemtap-scripts.html">Useful SystemTap Scripts</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>T</h3><dl><dt>tallying function calls</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt></dl></dd><dt>tallying virtual file system reads (VFS reads)</dt><dd><dl><dt>incrementing associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt></dl></dd></dl></dd><dt>Tapsets</dt><dd><dl><dt>definition of, <a class="indexterm" href="understanding-tapsets.html">Tapsets</a></dt></dl></dd><dt>target kernel</dt><dd><dl><dt>cross-instrumentation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>target system</dt><dd><dl><dt>cross-instrumentation, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>target system and host system</dt><dd><dl><dt>configuration, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt></dl></dd><dt>target variables, <a class="indexterm" href="targetvariables.html">Target Variables</a></dt><dd><dl><dt>pretty printing, <a class="indexterm" href="targetvariables.html#targetprettyprinting">Pretty Printing Target Variables</a></dt><dt>typecasting, <a class="indexterm" href="typecasting.html">Typecasting</a></dt><dt>user-space, <a class="indexterm" href="utargetvariable.html">Accessing User-Space Target Variables</a></dt><dt>variable availability, <a class="indexterm" href="targetavailable.html">Checking Target Variable Availablility</a></dt></dl></dd><dt>target()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>target-symbol expression, unresolved</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>TCP connections (incoming), monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#tcpconnectionssect">Monitoring Incoming TCP Connections</a></dt></dl></dd><dt>TCP packets, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#tcpdumplikesect">Monitoring TCP Packets</a></dt></dl></dd><dt>testing for array membership</dt><dd><dl><dt>conditional statements, using arrays in</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-conditionals.html">Using Arrays in Conditional Statements</a></dt></dl></dd></dl></dd><dt>testing, initial, <a class="indexterm" href="using-systemtap.html#testing">Initial Testing</a></dt><dt>thread_indent()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>thread_indent(), sample usage</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>tid()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>time of I/O </dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt></dl></dd><dt>time spent in kernel/user space, determining</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt></dl></dd><dt>timer events</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>timer.ms(), sample usage</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="mainsect-profiling.html#countcallssect">Counting Function Calls Made</a></dt></dl></dd><dt>timer.s(), sample usage</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="timeoutssect.html">Monitoring Polling Applications</a>, <a class="indexterm" href="topsyssect.html">Tracking Most Frequently Used System Calls</a></dt></dl></dd><dt>timestamp deltas, computing for</dt><dd><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>timestamps, association thereof to process names</dt><dd><dl><dt>assigning associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd></dl></dd><dt>tracepoint, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a>, <a class="indexterm" href="useful-systemtap-scripts.html#dropwatchsect">Monitoring Network Packets Drops in Kernel</a></dt><dt>tracing call graph</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>tracing functions called in network socket code</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html#sockettracesect">Tracing Functions Called in Network Socket Code</a></dt></dl></dd><dt>tracing incoming/outgoing function calls</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>tracking cumulative I/O</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd><dt>trigger function</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="paracallgraph.html">Call Graph Tracing</a></dt></dl></dd><dt>type mismatch for identifier</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>typographical script error</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>uid()</dt><dd><dl><dt>functions, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt></dl></dd><dt>uname -m, <a class="indexterm" href="cross-compiling.html">Generating Instrumentation for Other Computers</a></dt><dt>uname -r, <a class="indexterm" href="using-systemtap.html#install-kinfo">Installing Required Kernel Information RPMs</a></dt><dt>understainding SystemTap errors</dt><dd><dl><dt>runtime errors/warnings, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dd><dl><dt>aggregate element not found, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>aggregation overflow, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>copy fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>division by 0, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXACTION exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>MAXNESTING exceeded, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>number of errors: N, skipped probes: M, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt><dt>pointer dereference fault, <a class="indexterm" href="runtimeerror.html">Run Time Errors and Warnings</a></dt></dl></dd></dl></dd><dt>Understanding How SystemTap Works, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt><dd><dl><dt>architecture, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt><dt>event types, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt><dt>events and handlers, <a class="indexterm" href="understanding-how-systemtap-works.html">Understanding How SystemTap Works</a></dt><dt>SystemTap sessions, <a class="indexterm" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Architecture</a></dt></dl></dd><dt>understanding SystemTap errors</dt><dd><dl><dt>parse/semantics error, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dd><dl><dt>embedded code in unprivileged script, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>expected symbol/array index expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>grammatical/typographical script error, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>guru mode, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>invalid values to variables/arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>libdwfl failure, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>no match for probe point, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>non-global arrays, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>probe mismatch, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>type mismatch for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved function call, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved target-symbol expression, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>unresolved type for identifier, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt><dt>variable modified during 'foreach', <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>unique keys</dt><dd><dl><dt>introduction</dt><dd><dl><dt>arrays, <a class="indexterm" href="associativearrays.html">Associative Arrays</a></dt></dl></dd></dl></dd><dt>unprivileged script, embedded code in</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>unresolved function call</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>unresolved target-symbol expression</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>unresolved type for identifier</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>unsafe embedded code in unprivileged script</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>Usage</dt><dd><dl><dt>options, stap, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>running SystemTap scripts, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>standard input, running scripts from, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>stap, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>stapdev, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>staprun, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt><dt>stapusr, <a class="indexterm" href="using-usage.html">Running SystemTap Scripts</a></dt></dl></dd><dt>useful examples of SystemTap scripts, <a class="indexterm" href="useful-systemtap-scripts.html">Useful SystemTap Scripts</a></dt><dt>user and kernel space, determining time spent in</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="threadtimessect.html">Determining Time Spent in Kernel and User Space</a></dt></dl></dd><dt>using arrays in simple computations</dt><dd><dl><dt>reading values from arrays</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-readvalues.html">Reading Values From Arrays</a></dt></dl></dd></dl></dd><dt>Using SystemTap, <a class="indexterm" href="using-systemtap.html">Using SystemTap</a></dt><dt>usrdev2kerndev()</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>V</h3><dl><dt>values, assignment of</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayoperators.html#arrayops-assignvalue">Assigning an Associated Value</a></dt></dl></dd><dt>variable modified during 'foreach'</dt><dd><dl><dt>parse/semantics error</dt><dd><dl><dt>understanding SystemTap errors, <a class="indexterm" href="errors.html#parsetype">Parse and Semantic Errors</a></dt></dl></dd></dl></dd><dt>variable notations</dt><dd><dl><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="commandlineargssect.html">Command-Line Arguments</a></dt></dl></dd></dl></dd><dt>variables</dt><dd><dl><dt>SystemTap handler constructs</dt><dd><dl><dt>handlers, <a class="indexterm" href="scriptconstructions.html#variablesconstructs">Variables</a></dt></dl></dd></dl></dd><dt>variables (local)</dt><dd><dl><dt>name, <a class="indexterm" href="systemtapscript-handler.html">Systemtap Handler/Body</a></dt><dt>sample usage</dt><dd><dl><dt>$count, <a class="indexterm" href="iotimesect.html">Tracking I/O Time For Each File Read or Write</a></dt><dt>$return, <a class="indexterm" href="mainsect-disk.html#disktop">Summarizing Disk Read/Write Traffic</a>, <a class="indexterm" href="traceiosect.html">Track Cumulative IO</a></dt></dl></dd></dl></dd><dt>VFS reads, tallying of</dt><dd><dl><dt>incrementing associated values</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-increment.html">Incrementing Associated Values</a></dt></dl></dd></dl></dd><dt>vfs.file_operation</dt><dd><dl><dt>Events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt></dl></dd><dt>virtual file system reads (cumulative), tallying</dt><dd><dl><dt>processing multiple elements in an array</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-foreach.html">Processing Multiple Elements in an Array</a></dt></dl></dd></dl></dd><dt>virtual file system reads (non-cumulative), tallying</dt><dd><dl><dt>clearing arrays/array elements</dt><dd><dl><dt>array operations, <a class="indexterm" href="arrayops-deleting.html">Clearing/Deleting Arrays and Array Elements</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>W</h3><dl><dt>while loops</dt><dd><dl><dt>conditional statements</dt><dd><dl><dt>handlers, <a class="indexterm" href="handlerconditionalstatements.html">Conditional Statements</a></dt></dl></dd></dl></dd><dt>whole device number (usage as a command-line argument)</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="traceio2sect.html">I/O Monitoring (By Device)</a></dt></dl></dd><dt>wildcards in events, <a class="indexterm" href="scripts.html#systemtapscript-events">Event</a></dt><dt>writes/reads to a file, monitoring</dt><dd><dl><dt>examples of SystemTap scripts, <a class="indexterm" href="inodewatchsect.html">Monitoring Reads and Writes to a File</a></dt></dl></dd></dl></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="appe-Publican-Revision_History.html"><strong>Prev</strong>Appendix A. Revision History</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/mainsect-disk.html b/SystemTap_Beginners_Guide/mainsect-disk.html
deleted file mode 100644
index ded11d90..00000000
--- a/SystemTap_Beginners_Guide/mainsect-disk.html
+++ /dev/null
@@ -1,113 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2. Disk</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="useful-systemtap-scripts.html" title="Chapter 5. Useful SystemTap Scripts" /><link rel="prev" href="useful-systemtap-scripts.html" title="Chapter 5. Useful SystemTap Scripts" /><link rel="next" href="iotimesect.html" title="5.2.2. Tracking I/O Time For Each File Read or Write" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="useful-systemtap-scripts.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="iotimesect.html"><strong>Next</strong></a></li></ul><div class="section" id="mainsect-disk"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="mainsect-disk">5.2. Disk</h2></div></div></div><div class="para">
4 The following sections showcase scripts that monitor disk and I/O activity.
5 </div><div xml:lang="en-US" class="section" id="disktop" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="disktop">5.2.1. Summarizing Disk Read/Write Traffic</h3></div></div></div><a id="id793854" class="indexterm"></a><a id="id1076478" class="indexterm"></a><a id="id784827" class="indexterm"></a><a id="id544562" class="indexterm"></a><a id="id598281" class="indexterm"></a><a id="id531809" class="indexterm"></a><a id="id543727" class="indexterm"></a><a id="id793984" class="indexterm"></a><div class="para">
6 This section describes how to identify which processes are performing the heaviest disk reads/writes to the system.
7 </div><div class="formalpara" id="scriptdisktop"><h5 class="formalpara">disktop.stp</h5>
8
9<pre class="programlisting">#!/usr/bin/env stap
10#
11# Copyright (C) 2007 Oracle Corp.
12#
13# Get the status of reading/writing disk every 5 seconds,
14# output top ten entries
15#
16# This is free software,GNU General Public License (GPL);
17# either version 2, or (at your option) any later version.
18#
19# Usage:
20# ./disktop.stp
21#
22
23global io_stat,device
24global read_bytes,write_bytes
25
26probe vfs.read.return {
27 if ($return&gt;0) {
28 if (devname!="N/A") {/*skip read from cache*/
29 io_stat[pid(),execname(),uid(),ppid(),"R"] += $return
30 device[pid(),execname(),uid(),ppid(),"R"] = devname
31 read_bytes += $return
32 }
33 }
34}
35
36probe vfs.write.return {
37 if ($return&gt;0) {
38 if (devname!="N/A") { /*skip update cache*/
39 io_stat[pid(),execname(),uid(),ppid(),"W"] += $return
40 device[pid(),execname(),uid(),ppid(),"W"] = devname
41 write_bytes += $return
42 }
43 }
44}
45
46probe timer.ms(5000) {
47 /* skip non-read/write disk */
48 if (read_bytes+write_bytes) {
49
50 printf("\n%-25s, %-8s%4dKb/sec, %-7s%6dKb, %-7s%6dKb\n\n",
51 ctime(gettimeofday_s()),
52 "Average:", ((read_bytes+write_bytes)/1024)/5,
53 "Read:",read_bytes/1024,
54 "Write:",write_bytes/1024)
55
56 /* print header */
57 printf("%8s %8s %8s %25s %8s %4s %12s\n",
58 "UID","PID","PPID","CMD","DEVICE","T","BYTES")
59 }
60 /* print top ten I/O */
61 foreach ([process,cmd,userid,parent,action] in io_stat- limit 10)
62 printf("%8d %8d %8d %25s %8s %4s %12d\n",
63 userid,process,parent,cmd,
64 device[process,cmd,userid,parent,action],
65 action,io_stat[process,cmd,userid,parent,action])
66
67 /* clear data */
68 delete io_stat
69 delete device
70 read_bytes = 0
71 write_bytes = 0
72}
73
74probe end{
75 delete io_stat
76 delete device
77 delete read_bytes
78 delete write_bytes
79}
80</pre>
81 </div><div class="para">
82 <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> outputs the top ten processes responsible for the heaviest reads/writes to disk. <a class="xref" href="mainsect-disk.html#disktopoutput">Example 5.6, “disktop.stp Sample Output”</a> displays a sample output for this script, and includes the following data per listed process:
83 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
84 <code class="computeroutput">UID</code> — user ID. A user ID of <code class="computeroutput">0</code> refers to the root user.
85 </div></li><li class="listitem"><div class="para">
86 <code class="computeroutput">PID</code> — the ID of the listed process.
87 </div></li><li class="listitem"><div class="para">
88 <code class="computeroutput">PPID</code> — the process ID of the listed process's <span class="emphasis"><em>parent process</em></span>.
89 </div></li><li class="listitem"><div class="para">
90 <code class="computeroutput">CMD</code> — the name of the listed process.
91 </div></li><li class="listitem"><div class="para">
92 <code class="computeroutput">DEVICE</code> — which storage device the listed process is reading from or writing to.
93 </div></li><li class="listitem"><div class="para">
94 <code class="computeroutput">T</code> — the type of action performed by the listed process; <code class="computeroutput">W</code> refers to write, while <code class="computeroutput">R</code> refers to read.
95 </div></li><li class="listitem"><div class="para">
96 <code class="computeroutput">BYTES</code> — the amount of data read to or written from disk.
97 </div></li></ul></div><a id="id714312" class="indexterm"></a><a id="id711093" class="indexterm"></a><a id="id622095" class="indexterm"></a><div class="para">
98 The time and date in the output of <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> is returned by the functions <code class="command">ctime()</code> and <code class="command">gettimeofday_s()</code>. <code class="command">ctime()</code> derives calendar time in terms of seconds passed since the Unix epoch (January 1, 1970). <code class="command">gettimeofday_s()</code> counts the <span class="emphasis"><em>actual</em></span> number of seconds since Unix epoch, which gives a fairly accurate human-readable timestamp for the output.
99 </div><a id="id661889" class="indexterm"></a><a id="id695180" class="indexterm"></a><a id="id618617" class="indexterm"></a><div class="para">
100 In this script, the <code class="command">$return</code> is a local variable that stores the actual number of bytes each process reads or writes from the virtual file system. <code class="command">$return</code> can only be used in return probes (e.g. <code class="command">vfs.read.return</code> and <code class="command">vfs.read.return</code>).
101 </div><div class="example" id="disktopoutput"><h6>Example 5.6. <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
102Mon Sep 29 03:38:28 2008 , Average: 19Kb/sec, Read: 7Kb, Write: 89Kb
103
104UID PID PPID CMD DEVICE T BYTES
1050 26319 26294 firefox sda5 W 90229
1060 2758 2757 pam_timestamp_c sda5 R 8064
1070 2885 1 cupsd sda5 W 1678
108
109Mon Sep 29 03:38:38 2008 , Average: 1Kb/sec, Read: 7Kb, Write: 1Kb
110
111UID PID PPID CMD DEVICE T BYTES
1120 2758 2757 pam_timestamp_c sda5 R 8064
1130 2885 1 cupsd sda5 W 1678</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="useful-systemtap-scripts.html"><strong>Prev</strong>Chapter 5. Useful SystemTap Scripts</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="iotimesect.html"><strong>Next</strong>5.2.2. Tracking I/O Time For Each File Read or Wr...</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/mainsect-profiling.html b/SystemTap_Beginners_Guide/mainsect-profiling.html
deleted file mode 100644
index af4ee635..00000000
--- a/SystemTap_Beginners_Guide/mainsect-profiling.html
+++ /dev/null
@@ -1,59 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3. Profiling</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="useful-systemtap-scripts.html" title="Chapter 5. Useful SystemTap Scripts" /><link rel="prev" href="ioblktimesect.html" title="5.2.7. Periodically Print I/O Block Time" /><link rel="next" href="paracallgraph.html" title="5.3.2. Call Graph Tracing" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ioblktimesect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="paracallgraph.html"><strong>Next</strong></a></li></ul><div class="section" id="mainsect-profiling"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="mainsect-profiling">5.3. Profiling</h2></div></div></div><div class="para">
4 The following sections showcase scripts that profile kernel activity by monitoring function calls.
5 </div><div xml:lang="en-US" class="section" id="countcallssect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="countcallssect">5.3.1. Counting Function Calls Made</h3></div></div></div><a id="id770313" class="indexterm"></a><a id="id622803" class="indexterm"></a><a id="id1137872" class="indexterm"></a><a id="id630383" class="indexterm"></a><a id="id652671" class="indexterm"></a><div class="para">
6 This section describes how to identify how many times the system called a specific kernel function in a 30-second sample. Depending on your use of wildcards, you can also use this script to target multiple kernel functions.
7 </div><div class="formalpara" id="countcalls"><h5 class="formalpara">functioncallcount.stp</h5>
8
9<pre class="programlisting">#! /usr/bin/env stap
10# The following line command will probe all the functions
11# in kernel's memory management code:
12#
13# stap functioncallcount.stp "*@mm/*.c"
14
15probe kernel.function(@1).call { # probe functions listed on commandline
16 called[probefunc()] &lt;&lt;&lt; 1 # add a count efficiently
17}
18
19global called
20
21probe end {
22 foreach (fn in called-) # Sort by call count (in decreasing order)
23 # (fn+ in called) # Sort by function name
24 printf("%s %d\n", fn, @count(called[fn]))
25 exit()
26}
27</pre>
28 </div><div class="para">
29 <a class="xref" href="mainsect-profiling.html#countcalls">functioncallcount.stp</a> takes the targeted kernel function as an argument. The argument supports wildcards, which enables you to target multiple kernel functions up to a certain extent.
30 </div><a id="id1095721" class="indexterm"></a><a id="id1162399" class="indexterm"></a><a id="id604168" class="indexterm"></a><div class="para">
31 The output of <a class="xref" href="mainsect-profiling.html#countcalls">functioncallcount.stp</a> contains the name of the function called and how many times it was called during the sample time (in alphabetical order). <a class="xref" href="mainsect-profiling.html#countcallsoutput">Example 5.13, “functioncallcount.stp Sample Output”</a> contains an excerpt from the output of <code class="command">stap functioncallcount.stp "*@mm/*.c"</code>:
32 </div><div class="example" id="countcallsoutput"><h6>Example 5.13. <a class="xref" href="mainsect-profiling.html#countcalls">functioncallcount.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
33__vma_link 97
34__vma_link_file 66
35__vma_link_list 97
36__vma_link_rb 97
37__xchg 103
38add_page_to_active_list 102
39add_page_to_inactive_list 19
40add_to_page_cache 19
41add_to_page_cache_lru 7
42all_vm_events 6
43alloc_pages_node 4630
44alloc_slabmgmt 67
45anon_vma_alloc 62
46anon_vma_free 62
47anon_vma_lock 66
48anon_vma_prepare 98
49anon_vma_unlink 97
50anon_vma_unlock 66
51arch_get_unmapped_area_topdown 94
52arch_get_unmapped_exec_area 3
53arch_unmap_area_topdown 97
54atomic_add 2
55atomic_add_negative 97
56atomic_dec_and_test 5153
57atomic_inc 470
58atomic_inc_and_test 1
59[...]</pre></div></div><br class="example-break" /></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ioblktimesect.html"><strong>Prev</strong>5.2.7. Periodically Print I/O Block Time</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="paracallgraph.html"><strong>Next</strong>5.3.2. Call Graph Tracing</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/paracallgraph.html b/SystemTap_Beginners_Guide/paracallgraph.html
deleted file mode 100644
index 824e17bb..00000000
--- a/SystemTap_Beginners_Guide/paracallgraph.html
+++ /dev/null
@@ -1,55 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3.2. Call Graph Tracing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="prev" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="next" href="threadtimessect.html" title="5.3.3. Determining Time Spent in Kernel and User Space" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="mainsect-profiling.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="threadtimessect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="paracallgraph" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="paracallgraph">5.3.2. Call Graph Tracing</h3></div></div></div><a id="id810098" class="indexterm"></a><a id="id709165" class="indexterm"></a><a id="id783747" class="indexterm"></a><a id="id654924" class="indexterm"></a><a id="id777978" class="indexterm"></a><a id="id687805" class="indexterm"></a><a id="id751488" class="indexterm"></a><div class="para">
4 This section describes how to trace incoming and outgoing function calls.
5 </div><div class="formalpara" id="scriptcallgraph"><h5 class="formalpara">para-callgraph.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9function trace(entry_p, extra) {
10 %( $# &gt; 1 %? if (tid() in trace) %)
11 printf("%s%s%s %s\n",
12 thread_indent (entry_p),
13 (entry_p&gt;0?"-&gt;":"&lt;-"),
14 probefunc (),
15 extra)
16}
17
18
19%( $# &gt; 1 %?
20global trace
21probe $2.call {
22 trace[tid()] = 1
23}
24probe $2.return {
25 delete trace[tid()]
26}
27%)
28
29probe $1.call { trace(1, $$parms) }
30probe $1.return { trace(-1, $$return) }
31</pre>
32 </div><a id="id494105" class="indexterm"></a><a id="id690280" class="indexterm"></a><a id="id603530" class="indexterm"></a><a id="id778494" class="indexterm"></a><div class="para">
33 <a class="xref" href="paracallgraph.html#scriptcallgraph">para-callgraph.stp</a> takes two command-line arguments:
34 </div><a id="id1063300" class="indexterm"></a><a id="id784242" class="indexterm"></a><a id="id1142453" class="indexterm"></a><div class="itemizedlist"><ul><li class="listitem"><div class="para">
35 The function/s whose entry/exit call you'd like to trace (<code class="command">$1</code>).
36 </div></li><li class="listitem"><div class="para">
37 A second optional <em class="firstterm">trigger function</em> (<code class="command">$2</code>), which enables or disables tracing on a per-thread basis. Tracing in each thread will continue as long as the trigger function has not exited yet.
38 </div></li></ul></div><a id="id503523" class="indexterm"></a><a id="id618580" class="indexterm"></a><a id="id770063" class="indexterm"></a><div class="para">
39 <a class="xref" href="paracallgraph.html#scriptcallgraph">para-callgraph.stp</a> uses <code class="command">thread_indent()</code>; as such, its output contains the timestamp, process name, and thread ID of <code class="command">$1</code> (i.e. the probe function you are tracing). For more information about <code class="command">thread_indent()</code>, refer to its entry in <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a>.
40 </div><div class="para">
41 The following example contains an excerpt from the output for <code class="command">stap para-callgraph.stp 'kernel.function("*@fs/*.c")' 'kernel.function("sys_read")'</code>:
42 </div><div class="example" id="paracallgraphoutput"><h6>Example 5.14. <a class="xref" href="paracallgraph.html#scriptcallgraph">para-callgraph.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
43 267 gnome-terminal(2921): &lt;-do_sync_read return=0xfffffffffffffff5
44 269 gnome-terminal(2921):&lt;-vfs_read return=0xfffffffffffffff5
45 0 gnome-terminal(2921):-&gt;fput file=0xffff880111eebbc0
46 2 gnome-terminal(2921):&lt;-fput
47 0 gnome-terminal(2921):-&gt;fget_light fd=0x3 fput_needed=0xffff88010544df54
48 3 gnome-terminal(2921):&lt;-fget_light return=0xffff8801116ce980
49 0 gnome-terminal(2921):-&gt;vfs_read file=0xffff8801116ce980 buf=0xc86504 count=0x1000 pos=0xffff88010544df48
50 4 gnome-terminal(2921): -&gt;rw_verify_area read_write=0x0 file=0xffff8801116ce980 ppos=0xffff88010544df48 count=0x1000
51 7 gnome-terminal(2921): &lt;-rw_verify_area return=0x1000
52 12 gnome-terminal(2921): -&gt;do_sync_read filp=0xffff8801116ce980 buf=0xc86504 len=0x1000 ppos=0xffff88010544df48
53 15 gnome-terminal(2921): &lt;-do_sync_read return=0xfffffffffffffff5
54 18 gnome-terminal(2921):&lt;-vfs_read return=0xfffffffffffffff5
55 0 gnome-terminal(2921):-&gt;fput file=0xffff8801116ce980</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="mainsect-profiling.html"><strong>Prev</strong>5.3. Profiling</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="threadtimessect.html"><strong>Next</strong>5.3.3. Determining Time Spent in Kernel and User ...</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/pr01s02.html b/SystemTap_Beginners_Guide/pr01s02.html
deleted file mode 100644
index 6d4fa441..00000000
--- a/SystemTap_Beginners_Guide/pr01s02.html
+++ /dev/null
@@ -1,9 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2. We Need Feedback!</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="SystemTap_Beginners_Guide-Preface.html" title="Preface" /><link rel="prev" href="SystemTap_Beginners_Guide-Preface.html" title="Preface" /><link rel="next" href="introduction.html" title="Chapter 1. Introduction" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="SystemTap_Beginners_Guide-Preface.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="introduction.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="id506475">2. We Need Feedback!</h2></div></div></div><a id="id506483" class="indexterm"></a><div class="para">
4 If you find a typographical error in this manual, or if you have thought of a way to make this manual better, we would love to hear from you! Please submit a report in Bugzilla: <a href="http://bugzilla.redhat.com/bugzilla/">http://bugzilla.redhat.com/bugzilla/</a> against the product <span class="application"><strong>systemtap</strong></span>.
5 </div><div class="para">
6 When submitting a report, be sure to include the specific file or URL the report refers to and the manual's identifier: <em class="citetitle">SystemTap_Beginners_Guide</em>
7 </div><div class="para">
8 If you have a suggestion for improving the documentation, try to be as specific as possible when describing it. If you have found an error, please include the section number and some of the surrounding text so we can find it easily.
9 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="SystemTap_Beginners_Guide-Preface.html"><strong>Prev</strong>Preface</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="introduction.html"><strong>Next</strong>Chapter 1. Introduction</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/references.html b/SystemTap_Beginners_Guide/references.html
deleted file mode 100644
index 7fa62820..00000000
--- a/SystemTap_Beginners_Guide/references.html
+++ /dev/null
@@ -1,23 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 7. References</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="runtimeerror.html" title="6.2. Run Time Errors and Warnings" /><link rel="next" href="appe-Publican-Revision_History.html" title="Appendix A. Revision History" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="runtimeerror.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="appe-Publican-Revision_History.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="references" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 7. References</h2></div></div></div><div class="para">
4 This chapter enumerates other references for more information about SystemTap. It is advisable that you refer to these sources in the course of writing advanced probes and tapsets.
5 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">SystemTap Wiki</span></dt><dd><div class="para">
6 The <em class="citetitle">SystemTap Wiki</em> is a collection of links and articles related to the deployment, usage, and development of SystemTap. You can find it at <a href=" http://sourceware.org/systemtap/wiki/HomePage"> http://sourceware.org/systemtap/wiki/HomePage</a>.
7 </div></dd><dt class="varlistentry"><span class="term">SystemTap Tutorial</span></dt><dd><div class="para">
8 Much of the content in this book comes from the <em class="citetitle">SystemTap Tutorial</em>. The <em class="citetitle">SystemTap Tutorial</em> is a more appropriate reference for users with intermediate to advanced knowledge of C++ and kernel development, and can be found at <a href="http://sourceware.org/systemtap/tutorial/">http://sourceware.org/systemtap/tutorial/</a>.
9 </div></dd><dt class="varlistentry"><span class="term">man stapprobes</span></dt><dd><div class="para">
10 The <code class="filename">stapprobes</code> man page enumerates a variety of probe points supported by SystemTap, along with additional aliases defined by the SystemTap tapset library. The bottom of the man page includes a list of other man pages enumerating similar probe points for specific system components, such as <code class="filename">tapset::scsi</code>, <code class="filename">tapset::kprocess</code>, <code class="filename">tapset::signal</code>, etc.
11 </div></dd><dt class="varlistentry"><span class="term">man stapfuncs</span></dt><dd><div class="para">
12 The <code class="filename">stapfuncs</code> man page enumerates numerous functions supported by the SystemTap tapset library, along with the prescribed syntax for each one. Note, however, that this is not a complete list of <span class="emphasis"><em>all</em></span> supported functions; there are more undocumented functions available.
13 </div></dd><dt class="varlistentry"><span class="term">SystemTap Tapset Reference Manual</span></dt><dd><div class="para">
14 The <em class="citetitle">SystemTap Tapset Reference Manual</em> at <a href="http://sourceware.org/systemtap/tapsets/">http://sourceware.org/systemtap/tapsets/</a> describes the individual predefined functions and probe points of the tapsets greater detail.
15 </div></dd><dt class="varlistentry"><span class="term">SystemTap Language Reference</span></dt><dd><div class="para">
16 This document is a comprehensive reference of SystemTap's language constructs and syntax. It is recommended for users with a rudimentary to intermediate knowledge of C++ and other similar programming languages. The <em class="citetitle">SystemTap Language Reference</em> is available to all users at <a href="http://sourceware.org/systemtap/langref/">http://sourceware.org/systemtap/langref/</a>
17 </div></dd><dt class="varlistentry"><span class="term">Tapset Developers Guide</span></dt><dd><div class="para">
18 Once you have sufficient proficiency in writing SystemTap scripts, you can then try your hand out on writing your own tapsets. The <em class="citetitle">Tapset Developers Guide</em> describes how to add functions to your tapset library.
19 </div></dd><dt class="varlistentry"><span class="term">Test Suite</span></dt><dd><div class="para">
20 The <code class="filename">systemtap-testsuite</code> package allows you to test the entire SystemTap toolchain without having to build from source. In addition, it also contains numerous examples of SystemTap scripts you can study and test; some of these scripts are also documented in <a class="xref" href="useful-systemtap-scripts.html">Chapter 5, <em>Useful SystemTap Scripts</em></a>.
21 </div><div class="para">
22 By default, the example scripts included in <code class="filename">systemtap-testsuite</code> are located in <code class="filename">/usr/share/systemtap/testsuite/systemtap.examples</code>.
23 </div></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="runtimeerror.html"><strong>Prev</strong>6.2. Run Time Errors and Warnings</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="appe-Publican-Revision_History.html"><strong>Next</strong>Appendix A. Revision History</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/runtimeerror.html b/SystemTap_Beginners_Guide/runtimeerror.html
deleted file mode 100644
index 70281127..00000000
--- a/SystemTap_Beginners_Guide/runtimeerror.html
+++ /dev/null
@@ -1,21 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>6.2. Run Time Errors and Warnings</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="errors.html" title="Chapter 6. Understanding SystemTap Errors" /><link rel="prev" href="errors.html" title="Chapter 6. Understanding SystemTap Errors" /><link rel="next" href="references.html" title="Chapter 7. References" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="errors.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="references.html"><strong>Next</strong></a></li></ul><div class="section" id="runtimeerror"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="runtimeerror">6.2. Run Time Errors and Warnings</h2></div></div></div><a id="id735255" class="indexterm"></a><a id="id735267" class="indexterm"></a><a id="id804661" class="indexterm"></a><div class="para">
4 Runtime errors and warnings occur when the SystemTap instrumentation has been installed and is collecting data on the system.
5 </div><div class="formalpara"><h5 class="formalpara" id="id804678">WARNING: Number of errors: <em class="replaceable"><code>N</code></em>, skipped probes: <em class="replaceable"><code>M</code></em></h5><a id="id804693" class="indexterm"></a><a id="id531042" class="indexterm"></a><a id="id531058" class="indexterm"></a><a id="id531073" class="indexterm"></a>
6 Errors and/or skipped probes occurred during this run. Both <em class="replaceable"><code>N</code></em> and <em class="replaceable"><code>M</code></em> are the counts of the number of probes that were not executed due to conditions such as too much time required to execute event handlers over an interval of time.
7 </div><div class="formalpara"><h5 class="formalpara" id="id742993">division by 0</h5><a id="id743002" class="indexterm"></a><a id="id587955" class="indexterm"></a><a id="id587971" class="indexterm"></a><a id="id587987" class="indexterm"></a><a id="id589503" class="indexterm"></a>
8 The script code performed an invalid division.
9 </div><div class="formalpara"><h5 class="formalpara" id="id589524">aggregate element not found</h5><a id="id589532" class="indexterm"></a><a id="id599578" class="indexterm"></a><a id="id599594" class="indexterm"></a><a id="id599609" class="indexterm"></a>
10 A statistics extractor function other than <code class="command">@count</code> was invoked on an aggregate that has not had any values accumulated yet. This is similar to a division by zero.
11 </div><div class="formalpara"><h5 class="formalpara" id="id504370">aggregation overflow</h5><a id="id504379" class="indexterm"></a><a id="id504394" class="indexterm"></a><a id="id564747" class="indexterm"></a><a id="id564763" class="indexterm"></a><a id="id564778" class="indexterm"></a>
12 An array containing aggregate values contains too many distinct key pairs at this time.
13 </div><div class="formalpara"><h5 class="formalpara" id="id541507">MAXNESTING exceeded</h5><a id="id541514" class="indexterm"></a><a id="id541530" class="indexterm"></a><a id="id754859" class="indexterm"></a><a id="id754875" class="indexterm"></a><a id="id754891" class="indexterm"></a>
14 Too many levels of function call nesting were attempted. The default nesting of function calls allowed is 10.
15 </div><div class="formalpara"><h5 class="formalpara" id="id506980">MAXACTION exceeded</h5><a id="id506989" class="indexterm"></a><a id="id507005" class="indexterm"></a><a id="id606339" class="indexterm"></a><a id="id606354" class="indexterm"></a><a id="id606370" class="indexterm"></a>
16 The probe handler attempted to execute too many statements in the probe handler. The default number of actions allowed in a probe handler is 1000.
17 </div><div class="formalpara"><h5 class="formalpara" id="id785233">kernel/user string copy fault at <em class="replaceable"><code>ADDR</code></em></h5><a id="id785244" class="indexterm"></a><a id="id785260" class="indexterm"></a><a id="id689610" class="indexterm"></a><a id="id689626" class="indexterm"></a>
18 The probe handler attempted to copy a string from kernel or user-space at an invalid address (<em class="replaceable"><code>ADDR</code></em>).
19 </div><div class="formalpara"><h5 class="formalpara" id="id695078">pointer dereference fault</h5><a id="id695087" class="indexterm"></a><a id="id695102" class="indexterm"></a><a id="id695118" class="indexterm"></a><a id="id782446" class="indexterm"></a>
20 There was a fault encountered during a pointer dereference operation such as a target variable evaluation.
21 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="errors.html"><strong>Prev</strong>Chapter 6. Understanding SystemTap Errors</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="references.html"><strong>Next</strong>Chapter 7. References</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/scriptconstructions.html b/SystemTap_Beginners_Guide/scriptconstructions.html
deleted file mode 100644
index 02de3db3..00000000
--- a/SystemTap_Beginners_Guide/scriptconstructions.html
+++ /dev/null
@@ -1,24 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3. Basic SystemTap Handler Constructs</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="prev" href="systemtapscript-handler.html" title="3.2.2. Systemtap Handler/Body" /><link rel="next" href="targetvariables.html" title="3.3.2. Target Variables" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="systemtapscript-handler.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="targetvariables.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="scriptconstructions" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="scriptconstructions">3.3. Basic SystemTap Handler Constructs</h2></div></div></div><a id="id521584" class="indexterm"></a><a id="id521565" class="indexterm"></a><a id="id590459" class="indexterm"></a><a id="id648186" class="indexterm"></a><a id="id546742" class="indexterm"></a><div class="para">
4 SystemTap supports the use of several basic constructs in handlers. The syntax for most of these handler constructs are mostly based on C and <code class="command">awk</code> syntax. This section describes several of the most useful SystemTap handler constructs, which should provide you with enough information to write simple yet useful SystemTap scripts.
5 </div><div class="section" id="variablesconstructs"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="variablesconstructs">3.3.1. Variables</h3></div></div></div><a id="id631032" class="indexterm"></a><a id="id741977" class="indexterm"></a><a id="id638344" class="indexterm"></a><a id="id530818" class="indexterm"></a><div class="para">
6 Variables can be used freely throughout a handler; simply choose a name, assign a value from a function or expression to it, and use it in an expression. SystemTap automatically identifies whether a variable should be typed as a string or integer, based on the type of the values assigned to it. For instance, if you use set the variable <code class="command">foo</code> to <code class="command">gettimeofday_s()</code> (as in <code class="command">foo = gettimeofday_s()</code>), then <code class="command">foo</code> is typed as a number and can be printed in a <code class="command">printf()</code> with the integer format specifier (<code class="command">%d</code>).
7 </div><a id="id491675" class="indexterm"></a><a id="id590476" class="indexterm"></a><a id="id530446" class="indexterm"></a><div class="para">
8 Note, however, that by default variables are only local to the probe they are used in. This means that variables are initialized, used and disposed at each probe handler invocation. To share a variable between probes, declare the variable name using <code class="command">global</code> outside of the probes. Consider the following example:
9 </div><div class="example" id="timerjiffies"><h6>Example 3.8. timer-jiffies.stp</h6><div class="example-contents"><pre class="programlisting">global count_jiffies, count_ms
10probe timer.jiffies(100) { count_jiffies ++ }
11probe timer.ms(100) { count_ms ++ }
12probe timer.ms(12345)
13{
14 hz=(1000*count_jiffies) / count_ms
15 printf ("jiffies:ms ratio %d:%d =&gt; CONFIG_HZ=%d\n",
16 count_jiffies, count_ms, hz)
17 exit ()
18}</pre></div></div><br class="example-break" /><a id="id457505" class="indexterm"></a><div class="para">
19 <a class="xref" href="scriptconstructions.html#timerjiffies">Example 3.8, “timer-jiffies.stp”</a> computes the <code class="command">CONFIG_HZ</code> setting of the kernel using timers that count jiffies and milliseconds, then computing accordingly. The <code class="command">global</code> statement allows the script to use the variables <code class="command">count_jiffies</code> and <code class="command">count_ms</code> (set in their own respective probes) to be shared with <code class="command">probe timer.ms(12345)</code>.
20 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
21 The <code class="command">++</code> notation in <a class="xref" href="scriptconstructions.html#timerjiffies">Example 3.8, “timer-jiffies.stp”</a> (i.e. <code class="command">count_jiffies ++</code> and <code class="command">count_ms ++</code>) is used to increment the value of a variable by 1. In the following probe, <code class="command">count_jiffies</code> is incremented by 1 every 100 jiffies:
22 </div><pre class="screen">probe timer.jiffies(100) { count_jiffies ++ }</pre><div class="para">
23 In this instance, SystemTap understands that <code class="command">count_jiffies</code> is an integer. Because no initial value was assigned to <code class="command">count_jiffies</code>, its initial value is zero by default.
24 </div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="systemtapscript-handler.html"><strong>Prev</strong>3.2.2. Systemtap Handler/Body</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="targetvariables.html"><strong>Next</strong>3.3.2. Target Variables</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/scripts.html b/SystemTap_Beginners_Guide/scripts.html
deleted file mode 100644
index 40e2289a..00000000
--- a/SystemTap_Beginners_Guide/scripts.html
+++ /dev/null
@@ -1,85 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.2. SystemTap Scripts</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="prev" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="next" href="systemtapscript-handler.html" title="3.2.2. Systemtap Handler/Body" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="understanding-how-systemtap-works.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="systemtapscript-handler.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="scripts" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="scripts">3.2. SystemTap Scripts</h2></div></div></div><a id="id771876" class="indexterm"></a><a id="id771864" class="indexterm"></a><div class="para">
4 For the most part, SystemTap scripts are the foundation of each SystemTap session. SystemTap scripts instruct SystemTap on what type of information to collect, and what to do once that information is collected.
5 </div><a id="id771843" class="indexterm"></a><a id="id771830" class="indexterm"></a><a id="id771814" class="indexterm"></a><a id="id798625" class="indexterm"></a><a id="id798608" class="indexterm"></a><a id="id798592" class="indexterm"></a><div class="para">
6 As stated in <a class="xref" href="understanding-how-systemtap-works.html">Chapter 3, <em>Understanding How SystemTap Works</em></a>, SystemTap scripts are made up of two components: <span class="emphasis"><em>events</em></span> and <span class="emphasis"><em>handlers</em></span>. Once a SystemTap session is underway, SystemTap monitors the operating system for the specified events and executes the handlers as they occur.
7 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><a id="id798553" class="indexterm"></a><a id="id798537" class="indexterm"></a><a id="id798520" class="indexterm"></a><div class="para">
8 An event and its corresponding handler is collectively called a <span class="emphasis"><em>probe</em></span>. A SystemTap script can have multiple probes.
9 </div><div class="para">
10 A probe's handler is commonly referred to as a <span class="emphasis"><em>probe body</em></span>.
11 </div></div></div><div class="para">
12 In terms of application development, using events and handlers is similar to instrumenting the code by inserting diagnostic print statements in a program's sequence of commands. These diagnostic print statements allow you to view a history of commands executed once the program is run.
13 </div><div class="para">
14 SystemTap scripts allow insertion of the instrumentation code without recompilation of the code and allows more flexibility with regard to handlers. Events serve as the triggers for handlers to run; handlers can be specified to record specified data and print it in a certain manner.
15 </div><div class="formalpara" id="scriptformats"><h5 class="formalpara">Format</h5><a id="id518287" class="indexterm"></a><a id="id518270" class="indexterm"></a><a id="id518254" class="indexterm"></a><a id="id518238" class="indexterm"></a>
16 SystemTap scripts use the file extension <code class="filename">.stp</code>, and contains probes written in the following format:
17 </div><pre class="screen">probe <em class="replaceable"><code>event</code></em> {<em class="replaceable"><code>statements</code></em>}</pre><div class="para">
18 SystemTap supports multiple events per probe; multiple events are delimited by a comma (<code class="command">,</code>). If multiple events are specified in a single probe, SystemTap will execute the handler when any of the specified events occur.
19 </div><a id="id518195" class="indexterm"></a><a id="id518177" class="indexterm"></a><a id="id581923" class="indexterm"></a><div class="para">
20 Each probe has a corresponding <em class="firstterm">statement block</em>. This statement block is enclosed in braces (<code class="command">{ }</code>) and contains the statements to be executed per event. SystemTap executes these statements in sequence; special separators or terminators are generally not necessary between multiple statements.
21 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
22 Statement blocks in SystemTap scripts follow the same syntax and semantics as the C programming language. A statement block can be nested within another statement block.
23 </div></div></div><a id="id581878" class="indexterm"></a><a id="id581862" class="indexterm"></a><a id="id581846" class="indexterm"></a><div class="para">
24 Systemtap allows you to write functions to factor out code to be used by a number of probes. Thus, rather than repeatedly writing the same series of statements in multiple probes, you can just place the instructions in a <em class="firstterm">function</em>, as in:
25 </div><pre class="screen">function <em class="replaceable"><code>function_name</code></em>(<em class="replaceable"><code>arguments</code></em>) {<em class="replaceable"><code>statements</code></em>}
26probe <em class="replaceable"><code>event</code></em> {<em class="replaceable"><code>function_name</code></em>(<em class="replaceable"><code>arguments</code></em>)}</pre><div class="para">
27 The <code class="command"><em class="replaceable"><code>statements</code></em></code> in <em class="replaceable"><code>function_name</code></em> are executed when the probe for <em class="replaceable"><code>event</code></em> executes. The <em class="replaceable"><code>arguments</code></em> are optional values passed into the function.
28 </div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
29 <a class="xref" href="scripts.html">Section 3.2, “SystemTap Scripts”</a> is designed to introduce readers to the basics of SystemTap scripts. To understand SystemTap scripts better, it is advisable that you refer to <a class="xref" href="useful-systemtap-scripts.html">Chapter 5, <em>Useful SystemTap Scripts</em></a>; each section therein provides a detailed explanation of the script, its events, handlers, and expected output.
30 </div></div></div><div class="section" id="systemtapscript-events"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="systemtapscript-events">3.2.1. Event</h3></div></div></div><a id="id527169" class="indexterm"></a><div class="para">
31 SystemTap events can be broadly classified into two types: <em class="firstterm">synchronous</em> and <em class="firstterm">asynchronous</em>.
32 </div><div class="formalpara"><h5 class="formalpara" id="id527157">Synchronous Events</h5><a id="id527152" class="indexterm"></a><a id="id527140" class="indexterm"></a>
33 A <em class="firstterm">synchronous</em> event occurs when any process executes an instruction at a particular location in kernel code. This gives other events a reference point from which more contextual data may be available.
34 </div><a id="id527110" class="indexterm"></a><a id="id527098" class="indexterm"></a><div class="para">
35 Examples of synchronous events include:
36 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">syscall.<em class="replaceable"><code>system_call</code></em></span></dt><dd><a id="id648170" class="indexterm"></a><a id="id648149" class="indexterm"></a><div class="para">
37 The entry to the system call <em class="replaceable"><code>system_call</code></em>. If the exit from a syscall is desired, appending a <code class="command">.return</code> to the event monitor the exit of the system call instead. For example, to specify the entry and exit of the system call <code class="command">close</code>, use <code class="command">syscall.close</code> and <code class="command">syscall.close.return</code> respectively.
38 </div></dd><dt class="varlistentry"><span class="term">vfs.<em class="replaceable"><code>file_operation</code></em></span></dt><dd><a id="id648107" class="indexterm"></a><a id="id648091" class="indexterm"></a><div class="para">
39 The entry to the <em class="replaceable"><code>file_operation</code></em> event for Virtual File System (VFS). Similar to <code class="command">syscall</code> event, appending a <code class="command">.return</code> to the event monitors the exit of the <em class="replaceable"><code>file_operation</code></em> operation.
40 </div></dd><dt class="varlistentry"><span class="term">kernel.function("<em class="replaceable"><code>function</code></em>")</span></dt><dd><a id="id583330" class="indexterm"></a><a id="id583307" class="indexterm"></a><div class="para">
41 The entry to the kernel function <em class="replaceable"><code>function</code></em>. For example, <code class="command">kernel.function("sys_open")</code> refers to the "event" that occurs when the kernel function <code class="command">sys_open</code> is called by any thread in the system. To specify the <span class="emphasis"><em>return</em></span> of the kernel function <code class="command">sys_open</code>, append the <code class="command">return</code> string to the event statement; i.e. <code class="command">kernel.function("sys_open").return</code>.
42 </div><a id="id583244" class="indexterm"></a><a id="id583240" class="indexterm"></a><a id="id583231" class="indexterm"></a><div class="para">
43 When defining probe events, you can use asterisk (<code class="literal">*</code>) for wildcards. You can also trace the entry or exit of a function in a kernel source file. Consider the following example:
44 </div><div class="example" id="wildcards"><h6>Example 3.1. wildcards.stp</h6><div class="example-contents"><pre class="programlisting">probe kernel.function("*@net/socket.c") { }
45probe kernel.function("*@net/socket.c").return { }</pre></div></div><br class="example-break" /><div class="para">
46 In the previous example, the first probe's event specifies the entry of ALL functions in the kernel source file <code class="filename">net/socket.c</code>. The second probe specifies the exit of all those functions. Note that in this example, there are no statements in the handler; as such, no information will be collected or displayed.
47 </div></dd><dt class="varlistentry"><span class="term">kernel.trace("<em class="replaceable"><code>tracepoint</code></em>")</span></dt><dd><a id="id671190" class="indexterm"></a><a id="id671182" class="indexterm"></a><a id="id671163" class="indexterm"></a><div class="para">
48 The static probe for <em class="replaceable"><code>tracepoint</code></em>. Recent kernels (2.6.30 and newer) include instrumentation for specific events in the kernel. These events are statically marked with tracepoints. One example of a tracepoint available in systemtap is <code class="command">kernel.trace("kfree_skb")</code> which indicates each time a network buffer is freed in the kernel.
49 </div></dd><dt class="varlistentry"><span class="term">module("<em class="replaceable"><code>module</code></em>").function("<em class="replaceable"><code>function</code></em>")</span></dt><dd><a id="id671114" class="indexterm"></a><a id="id671092" class="indexterm"></a><div class="para">
50 Allows you to probe functions within modules. For example:
51 </div><div class="example" id="eventsmodules"><h6>Example 3.2. moduleprobe.stp</h6><div class="example-contents"><pre class="programlisting">probe module("ext3").function("*") { }
52probe module("ext3").function("*").return { }</pre></div></div><br class="example-break" /><div class="para">
53 The first probe in <a class="xref" href="scripts.html#eventsmodules">Example 3.2, “moduleprobe.stp”</a> points to the entry of <span class="emphasis"><em>all</em></span> functions for the <code class="filename">ext3</code> module. The second probe points to the exits of all functions for that same module; the use of the <code class="command">.return</code> suffix is similar to <code class="command">kernel.function()</code>. Note that the probes in <a class="xref" href="scripts.html#eventsmodules">Example 3.2, “moduleprobe.stp”</a> do not contain statements in the probe handlers, and as such will not print any useful data (as in <a class="xref" href="scripts.html#wildcards">Example 3.1, “wildcards.stp”</a>).
54 </div><div class="para">
55 A system's kernel modules are typically located in <code class="filename">/lib/modules/<em class="replaceable"><code>kernel_version</code></em></code>, where <em class="replaceable"><code>kernel_version</code></em> refers to the currently loaded kernel version. Modules use the file name extension <code class="filename">.ko</code>.
56 </div></dd></dl></div><div class="formalpara"><h5 class="formalpara" id="id504668">Asynchronous Events</h5><a id="id504663" class="indexterm"></a><a id="id504634" class="indexterm"></a>
57 <em class="firstterm">Asynchronous</em> events are not tied to a particular instruction or location in code. This family of probe points consists mainly of counters, timers, and similar constructs.
58 </div><div class="para">
59 Examples of asynchronous events include:
60 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">begin</span></dt><dd><a id="id504605" class="indexterm"></a><a id="id504588" class="indexterm"></a><div class="para">
61 The startup of a SystemTap session; i.e. as soon as the SystemTap script is run.
62 </div></dd><dt class="varlistentry"><span class="term">end</span></dt><dd><a id="id594271" class="indexterm"></a><a id="id594269" class="indexterm"></a><div class="para">
63 The end of a SystemTap session.
64 </div></dd><dt class="varlistentry"><span class="term">timer events</span></dt><dd><a id="id594240" class="indexterm"></a><a id="id594223" class="indexterm"></a><div class="para">
65 An event that specifies a handler to be executed periodically. For example:
66 </div><div class="example" id="timer"><h6>Example 3.3. timer-s.stp</h6><div class="example-contents"><pre class="programlisting">probe timer.s(4)
67{
68 printf("hello world\n")
69}</pre></div></div><br class="example-break" /><div class="para">
70 <a class="xref" href="scripts.html#timer">Example 3.3, “timer-s.stp”</a> is an example of a probe that prints <code class="command">hello world</code> every 4 seconds. Note that you can also use the following timer events:
71 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
72 <code class="command">timer.ms(<em class="replaceable"><code>milliseconds</code></em>)</code>
73 </div></li><li class="listitem"><div class="para">
74 <code class="command">timer.us(<em class="replaceable"><code>microseconds</code></em>)</code>
75 </div></li><li class="listitem"><div class="para">
76 <code class="command">timer.ns(<em class="replaceable"><code>nanoseconds</code></em>)</code>
77 </div></li><li class="listitem"><div class="para">
78 <code class="command">timer.hz(<em class="replaceable"><code>hertz</code></em>)</code>
79 </div></li><li class="listitem"><div class="para">
80 <code class="command">timer.jiffies(<em class="replaceable"><code>jiffies</code></em>)</code>
81 </div></li></ul></div><div class="para">
82 When used in conjunction with other probes that collect information, timer events allows you to print out get periodic updates and see how that information changes over time.
83 </div></dd></dl></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
84 SystemTap supports the use of a large collection of probe events. For more information about supported events, refer to <code class="command">man stapprobes</code>. The <em class="citetitle">SEE ALSO</em> section of <code class="command">man stapprobes</code> also contains links to other <code class="command">man</code> pages that discuss supported events for specific subsystems and components.
85 </div></div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="understanding-how-systemtap-works.html"><strong>Prev</strong>Chapter 3. Understanding How SystemTap Works</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="systemtapscript-handler.html"><strong>Next</strong>3.2.2. Systemtap Handler/Body</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/syscallsbyprocpidsect.html b/SystemTap_Beginners_Guide/syscallsbyprocpidsect.html
deleted file mode 100644
index 9565a8a6..00000000
--- a/SystemTap_Beginners_Guide/syscallsbyprocpidsect.html
+++ /dev/null
@@ -1,91 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3.6. Tracking System Call Volume Per Process</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="prev" href="topsyssect.html" title="5.3.5. Tracking Most Frequently Used System Calls" /><link rel="next" href="futexcontentionsect.html" title="5.4. Identifying Contended User-Space Locks" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="topsyssect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="futexcontentionsect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="syscallsbyprocpidsect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="syscallsbyprocpidsect">5.3.6. Tracking System Call Volume Per Process</h3></div></div></div><a id="id761401" class="indexterm"></a><a id="id755486" class="indexterm"></a><a id="id744408" class="indexterm"></a><a id="id748940" class="indexterm"></a><div class="para">
4 This section illustrates how to determine which processes are performing the highest volume of system calls. In previous sections, we've described how to monitor the top system calls used by the system over time (<a class="xref" href="topsyssect.html">Section 5.3.5, “Tracking Most Frequently Used System Calls”</a>). We've also described how to identify which applications use a specific set of "polling suspect" system calls the most (<a class="xref" href="timeoutssect.html">Section 5.3.4, “Monitoring Polling Applications”</a>). Monitoring the volume of system calls made by each process provides more data in investigating your system for polling processes and other resource hogs.
5 </div><div class="formalpara" id="syscallsbyprocpid"><h5 class="formalpara">syscalls_by_proc.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9# Copyright (C) 2006 IBM Corp.
10#
11# This file is part of systemtap, and is free software. You can
12# redistribute it and/or modify it under the terms of the GNU General
13# Public License (GPL); either version 2, or (at your option) any
14# later version.
15
16#
17# Print the system call count by process name in descending order.
18#
19
20global syscalls
21
22probe begin {
23 print ("Collecting data... Type Ctrl-C to exit and display results\n")
24}
25
26probe syscall.* {
27 syscalls[execname()]++
28}
29
30probe end {
31 printf ("%-10s %-s\n", "#SysCalls", "Process Name")
32 foreach (proc in syscalls-)
33 printf("%-10d %-s\n", syscalls[proc], proc)
34}
35</pre>
36 </div><div class="para">
37 <a class="xref" href="syscallsbyprocpidsect.html#syscallsbyprocpid">syscalls_by_proc.stp</a> lists the top 20 processes performing the highest number of system calls. It also lists how many system calls each process performed during the time period. Refer to <a class="xref" href="syscallsbyprocpidsect.html#syscallsbyprocpidoutput">Example 5.18, “topsys.stp Sample Output”</a> for a sample output.
38 </div><div class="example" id="syscallsbyprocpidoutput"><h6>Example 5.18. <a class="xref" href="topsyssect.html#topsys">topsys.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">Collecting data... Type Ctrl-C to exit and display results
39#SysCalls Process Name
401577 multiload-apple
41692 synergyc
42408 pcscd
43376 mixer_applet2
44299 gnome-terminal
45293 Xorg
46206 scim-panel-gtk
4795 gnome-power-man
4890 artsd
4985 dhcdbd
5084 scim-bridge
5178 gnome-screensav
5266 scim-launcher
53[...]</pre></div></div><br class="example-break" /><div class="para">
54 If you prefer the output to display the process IDs instead of the process names, use the following script instead.
55 </div><div class="formalpara" id="syscallsbypid"><h5 class="formalpara">syscalls_by_pid.stp</h5>
56
57<pre class="programlisting">#! /usr/bin/env stap
58
59# Copyright (C) 2006 IBM Corp.
60#
61# This file is part of systemtap, and is free software. You can
62# redistribute it and/or modify it under the terms of the GNU General
63# Public License (GPL); either version 2, or (at your option) any
64# later version.
65
66#
67# Print the system call count by process ID in descending order.
68#
69
70global syscalls
71
72probe begin {
73 print ("Collecting data... Type Ctrl-C to exit and display results\n")
74}
75
76probe syscall.* {
77 syscalls[pid()]++
78}
79
80probe end {
81 printf ("%-10s %-s\n", "#SysCalls", "PID")
82 foreach (pid in syscalls-)
83 printf("%-10d %-d\n", syscalls[pid], pid)
84}
85</pre>
86 </div><div class="para">
87 As indicated in the output, you need to manually exit the script in order to display the results. You can add a timed expiration to either script by simply adding a <code class="command">timer.s()</code> probe; for example, to instruct the script to expire after 5 seconds, add the following probe to the script:
88 </div><pre class="screen">probe timer.s(5)
89{
90 exit()
91}</pre></div><ul class="docnav"><li class="previous"><a accesskey="p" href="topsyssect.html"><strong>Prev</strong>5.3.5. Tracking Most Frequently Used System Calls</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="futexcontentionsect.html"><strong>Next</strong>5.4. Identifying Contended User-Space Locks</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/systemtapscript-handler.html b/SystemTap_Beginners_Guide/systemtapscript-handler.html
deleted file mode 100644
index f0e50e24..00000000
--- a/SystemTap_Beginners_Guide/systemtapscript-handler.html
+++ /dev/null
@@ -1,107 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.2.2. Systemtap Handler/Body</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="scripts.html" title="3.2. SystemTap Scripts" /><link rel="prev" href="scripts.html" title="3.2. SystemTap Scripts" /><link rel="next" href="scriptconstructions.html" title="3.3. Basic SystemTap Handler Constructs" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="scripts.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="scriptconstructions.html"><strong>Next</strong></a></li></ul><div class="section" id="systemtapscript-handler"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="systemtapscript-handler">3.2.2. Systemtap Handler/Body</h3></div></div></div><a id="id546772" class="indexterm"></a><div class="para">
4 Consider the following sample script:
5 </div><div class="example" id="helloworld"><h6>Example 3.4. helloworld.stp</h6><div class="example-contents"><pre class="programlisting">probe begin
6{
7 printf ("hello world\n")
8 exit ()
9}</pre></div></div><br class="example-break" /><div class="para">
10 In <a class="xref" href="systemtapscript-handler.html#helloworld">Example 3.4, “helloworld.stp”</a>, the event <code class="command">begin</code> (i.e. the start of the session) triggers the handler enclosed in <code class="command">{ }</code>, which simply prints <code class="command">hello world</code> followed by a new-line, then exits.
11 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><a id="id562519" class="indexterm"></a><a id="id562505" class="indexterm"></a><div class="para">
12 SystemTap scripts continue to run until the <code class="command">exit()</code> function executes. If the users wants to stop the execution of the script, it can interrupted manually with <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>.
13 </div></div></div><div class="formalpara" id="printf"><h5 class="formalpara">printf ( ) Statements</h5><a id="id562467" class="indexterm"></a>
14 The <code class="command">printf ()</code> statement is one of the simplest functions for printing data. <code class="command">printf ()</code> can also be used to display data using a wide variety of SystemTap functions in the following format:
15 </div><pre class="programlisting"> printf ("<em class="replaceable"><code>format string</code></em>\n", <em class="replaceable"><code>arguments</code></em>)
16</pre><a id="id562426" class="indexterm"></a><a id="id562412" class="indexterm"></a><div class="para">
17 The <em class="replaceable"><code>format string</code></em> specifies how <em class="replaceable"><code>arguments</code></em> should be printed. The format string of <a class="xref" href="systemtapscript-handler.html#helloworld">Example 3.4, “helloworld.stp”</a> simply instructs SystemTap to print <code class="command">hello world</code>, and contains no format specifiers.
18 </div><a id="id656717" class="indexterm"></a><a id="id656702" class="indexterm"></a><div class="para">
19 You can use the format specifiers <code class="command">%s</code> (for strings) and <code class="command">%d</code> (for numbers) in format strings, depending on your list of arguments. Format strings can have multiple format specifiers, each matching a corresponding argument; multiple arguments are delimited by a comma (<code class="command">,</code>).
20 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><a id="id656667" class="indexterm"></a><a id="id656651" class="indexterm"></a><a id="id656636" class="indexterm"></a><div class="para">
21 Semantically, the SystemTap <code class="command">printf</code> function is very similar to its C language counterpart. The aforementioned syntax and format for SystemTap's <code class="command">printf</code> function is identical to that of the C-style <code class="command">printf</code>.
22 </div></div></div><div class="para">
23 To illustrate this, consider the following probe example:
24 </div><div class="example" id="syscall-open"><h6>Example 3.5. variables-in-printf-statements.stp</h6><div class="example-contents"><pre class="programlisting">probe syscall.open
25{
26 printf ("%s(%d) open\n", execname(), pid())
27}</pre></div></div><br class="example-break" /><div class="para">
28 <a class="xref" href="systemtapscript-handler.html#syscall-open">Example 3.5, “variables-in-printf-statements.stp”</a> instructs SystemTap to probe all entries to the system call <code class="command">open</code>; for each event, it prints the current <code class="command">execname()</code> (a string with the executable name) and <code class="command">pid()</code> (the current process ID number), followed by the word <code class="command">open</code>. A snippet of this probe's output would look like:
29 </div><pre class="screen">vmware-guestd(2206) open
30hald(2360) open
31hald(2360) open
32hald(2360) open
33df(3433) open
34df(3433) open
35df(3433) open
36hald(2360) open</pre><div class="formalpara" id="systemtapscript-functions"><h5 class="formalpara">SystemTap Functions</h5><a id="id629160" class="indexterm"></a><a id="id629152" class="indexterm"></a><a id="id629142" class="indexterm"></a>
37 SystemTap supports a wide variety of functions that can be used as <code class="command">printf ()</code> arguments. <a class="xref" href="systemtapscript-handler.html#syscall-open">Example 3.5, “variables-in-printf-statements.stp”</a> uses the SystemTap functions <code class="command">execname()</code> (name of the process that called a kernel function/performed a system call) and <code class="command">pid()</code> (current process ID).
38 </div><div class="para">
39 The following is a list of commonly-used SystemTap functions:
40 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">tid()</span></dt><dd><a id="id629088" class="indexterm"></a><a id="id629073" class="indexterm"></a><a id="id629057" class="indexterm"></a><div class="para">
41 The ID of the current thread.
42 </div></dd><dt class="varlistentry"><span class="term">uid()</span></dt><dd><a id="id730478" class="indexterm"></a><a id="id730459" class="indexterm"></a><div class="para">
43 The ID of the current user.
44 </div></dd><dt class="varlistentry"><span class="term">cpu()</span></dt><dd><a id="id730427" class="indexterm"></a><a id="id730407" class="indexterm"></a><div class="para">
45 The current CPU number.
46 </div></dd><dt class="varlistentry"><span class="term">gettimeofday_s()</span></dt><dd><a id="id730373" class="indexterm"></a><a id="id730356" class="indexterm"></a><div class="para">
47 The number of seconds since UNIX epoch (January 1, 1970).
48 </div></dd><dt class="varlistentry"><span class="term">ctime()</span></dt><dd><a id="id755655" class="indexterm"></a><a id="id755638" class="indexterm"></a><div class="para">
49 Convert number of seconds since UNIX epoch to date.
50 </div></dd><dt class="varlistentry"><span class="term">pp()</span></dt><dd><a id="id755595" class="indexterm"></a><a id="id755575" class="indexterm"></a><div class="para">
51 A string describing the probe point currently being handled.
52 </div></dd><dt class="varlistentry"><span class="term">thread_indent()</span></dt><dd><a id="id586875" class="indexterm"></a><a id="id586854" class="indexterm"></a><div class="para">
53 This particular function is quite useful, providing you with a way to better organize your print results. The function takes one argument, an indentation delta, which indicates how many spaces to add or remove from a thread's "indentation counter". It then returns a string with some generic trace data along with an appropriate number of indentation spaces.
54 </div><div class="para">
55 The generic data included in the returned string includes a timestamp (number of microseconds since the first call to <code class="command">thread_indent()</code> by the thread), a process name, and the thread ID. This allows you to identify what functions were called, who called them, and the duration of each function call.
56 </div><div class="para">
57 If call entries and exits immediately precede each other, it is easy to match them. However, in most cases, after a first function call entry is made several other call entries and exits may be made before the first call exits. The indentation counter helps you match an entry with its corresponding exit by indenting the next function call if it is not the exit of the previous one.
58 </div><div class="para">
59 Consider the following example on the use of <code class="command">thread_indent()</code>:
60 </div><div class="example" id="thread_indent"><h6>Example 3.6. thread_indent.stp</h6><div class="example-contents"><pre class="programlisting">probe kernel.function("*@net/socket.c").call
61{
62 printf ("%s -&gt; %s\n", thread_indent(1), probefunc())
63}
64probe kernel.function("*@net/socket.c").return
65{
66 printf ("%s &lt;- %s\n", thread_indent(-1), probefunc())
67}</pre></div></div><br class="example-break" /><div class="para">
68 <a class="xref" href="systemtapscript-handler.html#thread_indent">Example 3.6, “thread_indent.stp”</a> prints out the <code class="command">thread_indent()</code> and probe functions at each event in the following format:
69 </div><pre class="screen">0 ftp(7223): -&gt; sys_socketcall
701159 ftp(7223): -&gt; sys_socket
712173 ftp(7223): -&gt; __sock_create
722286 ftp(7223): -&gt; sock_alloc_inode
732737 ftp(7223): &lt;- sock_alloc_inode
743349 ftp(7223): -&gt; sock_alloc
753389 ftp(7223): &lt;- sock_alloc
763417 ftp(7223): &lt;- __sock_create
774117 ftp(7223): -&gt; sock_create
784160 ftp(7223): &lt;- sock_create
794301 ftp(7223): -&gt; sock_map_fd
804644 ftp(7223): -&gt; sock_map_file
814699 ftp(7223): &lt;- sock_map_file
824715 ftp(7223): &lt;- sock_map_fd
834732 ftp(7223): &lt;- sys_socket
844775 ftp(7223): &lt;- sys_socketcall</pre><div class="para">
85 This sample output contains the following information:
86 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
87 The time (in microseconds) since the initial <code class="command">thread_indent()</code> call for the thread (included in the string from <code class="command">thread_indent()</code>).
88 </div></li><li class="listitem"><div class="para">
89 The process name (and its corresponding ID) that made the function call (included in the string from <code class="command">thread_indent()</code>).
90 </div></li><li class="listitem"><div class="para">
91 An arrow signifying whether the call was an entry (<code class="computeroutput">&lt;-</code>) or an exit (<code class="computeroutput">-&gt;</code>); the indentations help you match specific function call entries with their corresponding exits.
92 </div></li><li class="listitem"><div class="para">
93 The name of the function called by the process.
94 </div></li></ul></div></dd><dt class="varlistentry"><span class="term">name</span></dt><dd><a id="id686315" class="indexterm"></a><a id="id686298" class="indexterm"></a><a id="id686288" class="indexterm"></a><div class="para">
95 Identifies the name of a specific system call. This variable can only be used in probes that use the event <code class="command">syscall.<em class="replaceable"><code>system_call</code></em></code>.
96 </div></dd><dt class="varlistentry"><span class="term">target()</span></dt><dd><a id="id1185014" class="indexterm"></a><a id="id1184997" class="indexterm"></a><div class="para">
97 Used in conjunction with <code class="command">stap <em class="replaceable"><code>script</code></em> -x <em class="replaceable"><code>process ID</code></em></code> or <code class="command">stap <em class="replaceable"><code>script</code></em> -c <em class="replaceable"><code>command</code></em></code>. If you want to specify a script to take an argument of a process ID or command, use <code class="command">target()</code> as the variable in the script to refer to it. For example:
98 </div><div class="example" id="targetexample"><h6>Example 3.7. targetexample.stp</h6><div class="example-contents"><pre class="programlisting">probe syscall.* {
99 if (pid() == target())
100 printf("%s/n", name)
101}</pre></div></div><br class="example-break" /><div class="para">
102 When <a class="xref" href="systemtapscript-handler.html#targetexample">Example 3.7, “targetexample.stp”</a> is run with the argument <code class="command">-x <em class="replaceable"><code>process ID</code></em></code>, it watches all system calls (as specified by the event <code class="command">syscall.*</code>) and prints out the name of all system calls made by the specified process.
103 </div><div class="para">
104 This has the same effect as specifying <code class="command">if (pid() == <em class="replaceable"><code>process ID</code></em>)</code> each time you wish to target a specific process. However, using <code class="command">target()</code> makes it easier for you to re-use the script, giving you the ability to simply pass a process ID as an argument each time you wish to run the script (e.g. <code class="command">stap targetexample.stp -x <em class="replaceable"><code>process ID</code></em></code>).
105 </div></dd></dl></div><div class="para">
106 For more information about supported SystemTap functions, refer to <code class="command">man stapfuncs</code>.
107 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="scripts.html"><strong>Prev</strong>3.2. SystemTap Scripts</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="scriptconstructions.html"><strong>Next</strong>3.3. Basic SystemTap Handler Constructs</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/targetavailable.html b/SystemTap_Beginners_Guide/targetavailable.html
deleted file mode 100644
index 4e6a60b0..00000000
--- a/SystemTap_Beginners_Guide/targetavailable.html
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.2.3. Checking Target Variable Availablility</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="targetvariables.html" title="3.3.2. Target Variables" /><link rel="prev" href="typecasting.html" title="3.3.2.2. Typecasting" /><link rel="next" href="handlerconditionalstatements.html" title="3.3.3. Conditional Statements" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="typecasting.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="handlerconditionalstatements.html"><strong>Next</strong></a></li></ul><div class="section" id="targetavailable"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="targetavailable">3.3.2.3. Checking Target Variable Availablility</h4></div></div></div><a id="id760221" class="indexterm"></a><div class="para">
4 As code evolves the target variables available may change. The <code class="command">@defined</code> makes it easier to handle those variations in the available target variables. The <code class="command">@defined</code> provides a test to see if a particular target variable is available. The result of this test can be used to select the appropriate expression.
5 </div><div class="para">
6 The <a class="xref" href="targetavailable.html#available">Example 3.10, “Testing target variable available Example”</a> from the <code class="command">memory.stp</code> tapset provides an probe event alias. Some version of the kernel functions being probed have an argument <code class="command">$flags</code>. When available, the <code class="command">$flags</code> argument is used to generate the local variable <code class="command">write_access</code>. The versions of the probed functions that do not have the <code class="command">$flags</code> argument have a <code class="command">$write</code> argument and that is used instead for the local variable <code class="command">write_access</code>.
7 </div><div class="example" id="available"><h6>Example 3.10. Testing target variable available Example</h6><div class="example-contents"><pre class="programlisting">probe vm.pagefault = kernel.function("__handle_mm_fault@mm/memory.c") ?,
8 kernel.function("handle_mm_fault@mm/memory.c") ?
9{
10 name = "pagefault"
11 write_access = (@defined($flags)
12 ? $flags &amp; FAULT_FLAG_WRITE : $write_access)
13 address = $address
14}
15</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="typecasting.html"><strong>Prev</strong>3.3.2.2. Typecasting</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="handlerconditionalstatements.html"><strong>Next</strong>3.3.3. Conditional Statements</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/targetvariables.html b/SystemTap_Beginners_Guide/targetvariables.html
deleted file mode 100644
index c0af802b..00000000
--- a/SystemTap_Beginners_Guide/targetvariables.html
+++ /dev/null
@@ -1,47 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.2. Target Variables</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="scriptconstructions.html" title="3.3. Basic SystemTap Handler Constructs" /><link rel="prev" href="scriptconstructions.html" title="3.3. Basic SystemTap Handler Constructs" /><link rel="next" href="typecasting.html" title="3.3.2.2. Typecasting" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="scriptconstructions.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="typecasting.html"><strong>Next</strong></a></li></ul><div class="section" id="targetvariables"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="targetvariables">3.3.2. Target Variables</h3></div></div></div><a id="id753942" class="indexterm"></a><a id="id507157" class="indexterm"></a><div class="para">
4 The probe events that map to actual locations in the code (for example <code class="command">kernel.function("<em class="replaceable"><code>function</code></em>")</code> and <code class="command">kernel.statement("<em class="replaceable"><code>statement</code></em>")</code>) allow the use of <span class="emphasis"><em>target variables</em></span> to obtain the value of variables visible at that location in the code. You can use the <code class="command">-L</code> option to list the target variable available at a probe point. If the debug information is installed for the running kernel, you can run the following command to find out what target variables are available for the <code class="command">vfs_read</code> function:
5 </div><pre class="screen">stap -L 'kernel.function("vfs_read")'</pre><div class="para">
6 This will yield something similar to the following:
7 </div><pre class="screen">kernel.function("vfs_read@fs/read_write.c:277") $file:struct file* $buf:char* $count:size_t $pos:loff_t*</pre><div class="para">
8 Each target variable is proceeded by a <span class="quote">“<span class="quote"><code class="command">$</code></span>”</span> and the type of the target variable follows the <span class="quote">“<span class="quote"><code class="command">:</code></span>”</span>. The kernel's <code class="command">vfs_read</code> function has <code class="command">$file</code> (pointer to structure describing the file), <code class="command">$buf</code> (pointer to the user-space memory to store the read data), <code class="command">$count</code> (number of bytes to read), and <code class="command">$pos</code> (position to start reading from in the file) target variables at the entry to the function.
9 </div><div class="para">
10 SystemTap tracks the typing information of the target variable and can examine the fields of a structure with the <code class="command">-&gt;</code> operator. The <code class="command">-&gt;</code> operator can be chained to look at data structures contained within data structures and follow pointers to other data structures. The <code class="command">-&gt;</code> operator will obtain the value in the field of the structure. The <code class="command">-&gt;</code> operator is used regardless whether accessing a field in a substructure or accessing another structure through a pointer.
11 </div><div class="para">
12 For pointers to base types such as integers and strings there are a number of functions listed below to access kernel-space data. The first argument for each functions is the pointer to the data item. Similar functions are described in <a class="xref" href="utargetvariable.html">Section 4.2, “Accessing User-Space Target Variables”</a> for accessing target variables in user-space code.
13 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">kernel_char(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
14 Obtain the character at <em class="replaceable"><code>address</code></em> from kernel memory.
15 </div></dd><dt class="varlistentry"><span class="term">kernel_short(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
16 Obtain the short at <em class="replaceable"><code>address</code></em> from kernel memory.
17 </div></dd><dt class="varlistentry"><span class="term">kernel_int(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
18 Obtain the int at <em class="replaceable"><code>address</code></em> from kernel memory.
19 </div></dd><dt class="varlistentry"><span class="term">kernel_long(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
20 Obtain the long at <em class="replaceable"><code>address</code></em> from kernel memory
21 </div></dd><dt class="varlistentry"><span class="term">kernel_string(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
22 Obtain the string at <em class="replaceable"><code>address</code></em> from kernel memory.
23 </div></dd><dt class="varlistentry"><span class="term">kernel_string_n(<em class="replaceable"><code>address</code></em>, <em class="replaceable"><code>n</code></em>)</span></dt><dd><div class="para">
24 Obtain the string at <em class="replaceable"><code>address</code></em> from the kernel memory and limits the string to <em class="replaceable"><code>n</code></em> bytes.
25 </div></dd></dl></div><div class="section" id="targetprettyprinting"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="targetprettyprinting">3.3.2.1. Pretty Printing Target Variables</h4></div></div></div><a id="id575802" class="indexterm"></a><div class="para">
26 SystemTap scripts are often used to observe what is happening within the code. In many cases just printing the values of the various context variables is sufficient. SystemTap makes a number operations available that can generate printable strings for target variables:
27 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">$$vars</span></dt><dd><div class="para">
28 Expands to a character string that is equivalent to <code class="command">sprintf("parm1=%x ... parmN=%x var1=%x ... varN=%x", parm1, ..., parmN, var1, ..., varN)</code> for each variable in scope at the probe point. Some values may be printed as <span class="quote">“<span class="quote"><code class="command">=?</code></span>”</span> if their run-time location cannot be found.
29 </div></dd><dt class="varlistentry"><span class="term">$$locals</span></dt><dd><div class="para">
30 Expands to a subset of <code class="command">$$vars</code> containing only the local variables.
31 </div></dd><dt class="varlistentry"><span class="term">$$parms</span></dt><dd><div class="para">
32 Expands to a subset of <code class="command">$$vars</code> containing only the function parameters.
33 </div></dd><dt class="varlistentry"><span class="term">$$return</span></dt><dd><div class="para">
34 Is available in return probes only. It expands to a string that is equivalent to <code class="command">sprintf("return=%x", $return)</code> if the probed function has a return value, or else an empty string.
35 </div></dd></dl></div><div class="para">
36 Below is a command-line script that prints the values of the parameters passed into the function <code class="command">vfs_read</code>:
37 </div><pre class="programlisting">stap -e 'probe kernel.function("vfs_read") {printf("%s\n", $$parms); exit(); }'</pre><div class="para">
38 There are four parameters passed into <code class="command">vfs_read</code>: <code class="command">file</code>, <code class="command">buf</code>, <code class="command">count</code>, and <code class="command">pos</code>. The <code class="command">$$parms</code> generates a string for the parameters passed into the function. In this case all but the <code class="command">count</code> parameter are pointers. The following is an example of the output from the previous command-line script:
39 </div><pre class="programlisting">file=0xffff8800b40d4c80 buf=0x7fff634403e0 count=0x2004 pos=0xffff8800af96df48</pre><div class="para">
40 Having the address a pointer points to may not be useful. You might be more interested in the fields of the data structure the pointer points to. You can use the the <span class="quote">“<span class="quote"><code class="command">$</code></span>”</span> suffix to pretty print the data structure. The following command-line example uses the pretty printing suffix to print more details about the data structures passed into the function <code class="command">vfs_read</code>:
41 </div><pre class="programlisting">stap -e 'probe kernel.function("vfs_read") {printf("%s\n", $$parms$); exit(); }'</pre><div class="para">
42 The previous command line will generate something similar to the following with the fields of the data structure included in the output:
43 </div><pre class="programlisting">file={.f_u={...}, .f_path={...}, .f_op=0xffffffffa06e1d80, .f_lock={...}, .f_count={...}, .f_flags=34818, .f_mode=31, .f_pos=0, .f_owner={...}, .f_cred=0xffff88013148fc80, .f_ra={...}, .f_version=0, .f_security=0xffff8800b8dce560, .private_data=0x0, .f_ep_links={...}, .f_mapping=0xffff880037f8fdf8} buf="" count=8196 pos=-131938753921208</pre><div class="para">
44 With the <span class="quote">“<span class="quote"><code class="command">$</code></span>”</span> suffix fields that are composed of data structures are not expanded. The <span class="quote">“<span class="quote"><code class="command">$$</code></span>”</span> suffix will print the values contained within the nested data structures. Below is an example using the <span class="quote">“<span class="quote"><code class="command">$$</code></span>”</span> suffix:
45 </div><pre class="programlisting">stap -e 'probe kernel.function("vfs_read") {printf("%s\n", $$parms$$); exit(); }'</pre><div class="para">
46 The <span class="quote">“<span class="quote"><code class="command">$$</code></span>”</span> suffix, like all strings, is limited to the maximum string size. Below is a represenative output from the previous command-line script, which is truncated because of the string size limit:
47 </div><pre class="programlisting">file={.f_u={.fu_list={.next=0xffff8801336ca0e8, .prev=0xffff88012ded0840}, .fu_rcuhead={.next=0xffff8801336ca0e8, .func=0xffff88012ded0840}}, .f_path={.mnt=0xffff880132fc97c0, .dentry=0xffff88001a889cc0}, .f_op=0xffffffffa06f64c0, .f_lock={.raw_lock={.slock=196611}}, .f_count={.counter=2}, .f_flags=34818, .f_mode=31, .f_pos=0, .f_owner={.lock={.raw_lock={.lock=16777216}}, .pid=0x0, .pid_type=0, .uid=0, .euid=0, .signum=0}, .f_cred=0xffff880130129a80, .f_ra={.start=0, .size=0, .async_size=0, .ra_pages=32, .</pre></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="scriptconstructions.html"><strong>Prev</strong>3.3. Basic SystemTap Handler Constructs</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="typecasting.html"><strong>Next</strong>3.3.2.2. Typecasting</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/threadtimessect.html b/SystemTap_Beginners_Guide/threadtimessect.html
deleted file mode 100644
index 48d39dd3..00000000
--- a/SystemTap_Beginners_Guide/threadtimessect.html
+++ /dev/null
@@ -1,67 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3.3. Determining Time Spent in Kernel and User Space</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="prev" href="paracallgraph.html" title="5.3.2. Call Graph Tracing" /><link rel="next" href="timeoutssect.html" title="5.3.4. Monitoring Polling Applications" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="paracallgraph.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="timeoutssect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="threadtimessect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="threadtimessect">5.3.3. Determining Time Spent in Kernel and User Space</h3></div></div></div><a id="id727457" class="indexterm"></a><a id="id498895" class="indexterm"></a><a id="id503491" class="indexterm"></a><a id="id709203" class="indexterm"></a><a id="id648367" class="indexterm"></a><a id="id645390" class="indexterm"></a><div class="para">
4 This section illustrates how to determine the amount of time any given thread is spending in either kernel or user-space.
5 </div><div class="formalpara" id="threadtimes"><h5 class="formalpara">thread-times.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9probe perf.sw.cpu_clock!, timer.profile {
10 // NB: To avoid contention on SMP machines, no global scalars/arrays used,
11 // only contention-free statistics aggregates.
12 tid=tid(); e=execname()
13 if (!user_mode())
14 kticks[e,tid] &lt;&lt;&lt; 1
15 else
16 uticks[e,tid] &lt;&lt;&lt; 1
17 ticks &lt;&lt;&lt; 1
18 tids[e,tid] &lt;&lt;&lt; 1
19}
20
21global uticks, kticks, ticks
22
23global tids
24
25probe timer.s(5), end {
26 allticks = @count(ticks)
27 printf ("%16s %5s %7s %7s (of %d ticks)\n",
28 "comm", "tid", "%user", "%kernel", allticks)
29 foreach ([e,tid] in tids- limit 20) {
30 uscaled = @count(uticks[e,tid])*10000/allticks
31 kscaled = @count(kticks[e,tid])*10000/allticks
32 printf ("%16s %5d %3d.%02d%% %3d.%02d%%\n",
33 e, tid, uscaled/100, uscaled%100, kscaled/100, kscaled%100)
34 }
35 printf("\n")
36
37 delete uticks
38 delete kticks
39 delete ticks
40 delete tids
41}
42</pre>
43 </div><a id="id594909" class="indexterm"></a><a id="id783944" class="indexterm"></a><a id="id508837" class="indexterm"></a><div class="para">
44 <a class="xref" href="threadtimessect.html#threadtimes">thread-times.stp</a> lists the top 20 processes currently taking up CPU time within a 5-second sample, along with the total number of CPU ticks made during the sample. The output of this script also notes the percentage of CPU time each process used, as well as whether that time was spent in kernel space or user space.
45 </div><div class="para">
46 <a class="xref" href="threadtimessect.html#threadtimesoutput">Example 5.15, “thread-times.stp Sample Output”</a> contains a 5-second sample of the output for <a class="xref" href="threadtimessect.html#threadtimes">thread-times.stp</a>:
47 </div><div class="example" id="threadtimesoutput"><h6>Example 5.15. <a class="xref" href="threadtimessect.html#threadtimes">thread-times.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen"> tid %user %kernel (of 20002 ticks)
48 0 0.00% 87.88%
4932169 5.24% 0.03%
50 9815 3.33% 0.36%
51 9859 0.95% 0.00%
52 3611 0.56% 0.12%
53 9861 0.62% 0.01%
5411106 0.37% 0.02%
5532167 0.08% 0.08%
56 3897 0.01% 0.08%
57 3800 0.03% 0.00%
58 2886 0.02% 0.00%
59 3243 0.00% 0.01%
60 3862 0.01% 0.00%
61 3782 0.00% 0.00%
6221767 0.00% 0.00%
63 2522 0.00% 0.00%
64 3883 0.00% 0.00%
65 3775 0.00% 0.00%
66 3943 0.00% 0.00%
67 3873 0.00% 0.00%</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="paracallgraph.html"><strong>Prev</strong>5.3.2. Call Graph Tracing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="timeoutssect.html"><strong>Next</strong>5.3.4. Monitoring Polling Applications</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/timeoutssect.html b/SystemTap_Beginners_Guide/timeoutssect.html
deleted file mode 100644
index d9c57414..00000000
--- a/SystemTap_Beginners_Guide/timeoutssect.html
+++ /dev/null
@@ -1,148 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3.4. Monitoring Polling Applications</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="prev" href="threadtimessect.html" title="5.3.3. Determining Time Spent in Kernel and User Space" /><link rel="next" href="topsyssect.html" title="5.3.5. Tracking Most Frequently Used System Calls" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="threadtimessect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="topsyssect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="timeoutssect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="timeoutssect">5.3.4. Monitoring Polling Applications</h3></div></div></div><a id="id778080" class="indexterm"></a><a id="id680345" class="indexterm"></a><a id="id518409" class="indexterm"></a><a id="id644003" class="indexterm"></a><div class="para">
4 This section describes how to identify and monitor which applications are polling. Doing so allows you to track unnecessary or excessive polling, which can help you pinpoint areas for improvement in terms of CPU usage and power savings.
5 </div><div class="formalpara" id="timeouts"><h5 class="formalpara">timeout.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8# Copyright (C) 2009 Red Hat, Inc.
9# Written by Ulrich Drepper &lt;drepper@redhat.com&gt;
10# Modified by William Cohen &lt;wcohen@redhat.com&gt;
11
12global process, timeout_count, to
13global poll_timeout, epoll_timeout, select_timeout, itimer_timeout
14global nanosleep_timeout, futex_timeout, signal_timeout
15
16probe syscall.poll, syscall.epoll_wait {
17 if (timeout) to[pid()]=timeout
18}
19
20probe syscall.poll.return {
21 p = pid()
22 if ($return == 0 &amp;&amp; to[p] &gt; 0 ) {
23 poll_timeout[p]++
24 timeout_count[p]++
25 process[p] = execname()
26 delete to[p]
27 }
28}
29
30probe syscall.epoll_wait.return {
31 p = pid()
32 if ($return == 0 &amp;&amp; to[p] &gt; 0 ) {
33 epoll_timeout[p]++
34 timeout_count[p]++
35 process[p] = execname()
36 delete to[p]
37 }
38}
39
40probe syscall.select.return {
41 if ($return == 0) {
42 p = pid()
43 select_timeout[p]++
44 timeout_count[p]++
45 process[p] = execname()
46 }
47}
48
49probe syscall.futex.return {
50 if (errno_str($return) == "ETIMEDOUT") {
51 p = pid()
52 futex_timeout[p]++
53 timeout_count[p]++
54 process[p] = execname()
55 }
56}
57
58probe syscall.nanosleep.return {
59 if ($return == 0) {
60 p = pid()
61 nanosleep_timeout[p]++
62 timeout_count[p]++
63 process[p] = execname()
64 }
65}
66
67probe kernel.function("it_real_fn") {
68 p = pid()
69 itimer_timeout[p]++
70 timeout_count[p]++
71 process[p] = execname()
72}
73
74probe syscall.rt_sigtimedwait.return {
75 if (errno_str($return) == "EAGAIN") {
76 p = pid()
77 signal_timeout[p]++
78 timeout_count[p]++
79 process[p] = execname()
80 }
81}
82
83probe syscall.exit {
84 p = pid()
85 if (p in process) {
86 delete process[p]
87 delete timeout_count[p]
88 delete poll_timeout[p]
89 delete epoll_timeout[p]
90 delete select_timeout[p]
91 delete itimer_timeout[p]
92 delete futex_timeout[p]
93 delete nanosleep_timeout[p]
94 delete signal_timeout[p]
95 }
96}
97
98probe timer.s(1) {
99 ansi_clear_screen()
100 printf (" pid | poll select epoll itimer futex nanosle signal| process\n")
101 foreach (p in timeout_count- limit 20) {
102 printf ("%5d |%7d %7d %7d %7d %7d %7d %7d| %-.38s\n", p,
103 poll_timeout[p], select_timeout[p],
104 epoll_timeout[p], itimer_timeout[p],
105 futex_timeout[p], nanosleep_timeout[p],
106 signal_timeout[p], process[p])
107 }
108}
109</pre>
110 </div><div class="para">
111 <a class="xref" href="timeoutssect.html#timeouts">timeout.stp</a> tracks how many times each of the following system calls completed due to time expiring rather than due to an actual event occurring:
112 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
113 <code class="command">poll</code>
114 </div></li><li class="listitem"><div class="para">
115 <code class="command">select</code>
116 </div></li><li class="listitem"><div class="para">
117 <code class="command">epoll</code>
118 </div></li><li class="listitem"><div class="para">
119 <code class="command">itimer</code>
120 </div></li><li class="listitem"><div class="para">
121 <code class="command">futex</code>
122 </div></li><li class="listitem"><div class="para">
123 <code class="command">nanosleep</code>
124 </div></li><li class="listitem"><div class="para">
125 <code class="command">signal</code>
126 </div></li></ul></div><a id="id1092005" class="indexterm"></a><a id="id599859" class="indexterm"></a><a id="id709200" class="indexterm"></a><div class="example" id="timeoutsoutput"><h6>Example 5.16. <a class="xref" href="timeoutssect.html#timeouts">timeout.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen"> uid | poll select epoll itimer futex nanosle signal| process
12728937 | 148793 0 0 4727 37288 0 0| firefox
12822945 | 0 56949 0 1 0 0 0| scim-bridge
129 0 | 0 0 0 36414 0 0 0| swapper
130 4275 | 23140 0 0 1 0 0 0| mixer_applet2
131 4191 | 0 14405 0 0 0 0 0| scim-launcher
13222941 | 7908 1 0 62 0 0 0| gnome-terminal
133 4261 | 0 0 0 2 0 7622 0| escd
134 3695 | 0 0 0 0 0 7622 0| gdm-binary
135 3483 | 0 7206 0 0 0 0 0| dhcdbd
136 4189 | 6916 0 0 2 0 0 0| scim-panel-gtk
137 1863 | 5767 0 0 0 0 0 0| iscsid
138 2562 | 0 2881 0 1 0 1438 0| pcscd
139 4257 | 4255 0 0 1 0 0 0| gnome-power-man
140 4278 | 3876 0 0 60 0 0 0| multiload-apple
141 4083 | 0 1331 0 1728 0 0 0| Xorg
142 3921 | 1603 0 0 0 0 0 0| gam_server
143 4248 | 1591 0 0 0 0 0 0| nm-applet
144 3165 | 0 1441 0 0 0 0 0| xterm
14529548 | 0 1440 0 0 0 0 0| httpd
146 1862 | 0 0 0 0 0 1438 0| iscsid</pre></div></div><br class="example-break" /><div class="para">
147 You can increase the sample time by editing the second probe (<code class="command">timer.s(1)</code>). The output of <a class="xref" href="timeoutssect.html#timeouts">timeout.stp</a> contains the name and UID of the top 20 polling applications, along with how many times each application performed each polling system call (over time). <a class="xref" href="timeoutssect.html#timeoutsoutput">Example 5.16, “timeout.stp Sample Output”</a> contains an excerpt of the script. In this particular example firefox is doing an excessive amount of polling due to a plugin module.
148 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="threadtimessect.html"><strong>Prev</strong>5.3.3. Determining Time Spent in Kernel and User ...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="topsyssect.html"><strong>Next</strong>5.3.5. Tracking Most Frequently Used System Calls</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/topsyssect.html b/SystemTap_Beginners_Guide/topsyssect.html
deleted file mode 100644
index ab461d9c..00000000
--- a/SystemTap_Beginners_Guide/topsyssect.html
+++ /dev/null
@@ -1,56 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.3.5. Tracking Most Frequently Used System Calls</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-profiling.html" title="5.3. Profiling" /><link rel="prev" href="timeoutssect.html" title="5.3.4. Monitoring Polling Applications" /><link rel="next" href="syscallsbyprocpidsect.html" title="5.3.6. Tracking System Call Volume Per Process" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="timeoutssect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="syscallsbyprocpidsect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="topsyssect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="topsyssect">5.3.5. Tracking Most Frequently Used System Calls</h3></div></div></div><a id="id599147" class="indexterm"></a><a id="id542156" class="indexterm"></a><a id="id1154474" class="indexterm"></a><a id="id1182391" class="indexterm"></a><div class="para">
4 <a class="xref" href="timeoutssect.html#timeouts">timeout.stp</a> from <a class="xref" href="timeoutssect.html">Section 5.3.4, “Monitoring Polling Applications”</a> helps you identify which applications are polling by examining a small subset of system calls ( <code class="command">poll</code>, <code class="command">select</code>, <code class="command">epoll</code>, <code class="command">itimer</code>, <code class="command">futex</code>, <code class="command">nanosleep</code>, and <code class="command">signal</code>). However, in some systems, an excessive number of system calls outside that small subset might be responsible for time spent in the kernel. If you suspect that an application is using system calls excessively, you need to identify the most frequently used system calls on the system. To do this, use <a class="xref" href="topsyssect.html#topsys">topsys.stp</a>.
5 </div><div class="formalpara" id="topsys"><h5 class="formalpara">topsys.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8#
9# This script continuously lists the top 20 systemcalls in the interval
10# 5 seconds
11#
12
13global syscalls_count
14
15probe syscall.* {
16 syscalls_count[name]++
17}
18
19function print_systop () {
20 printf ("%25s %10s\n", "SYSCALL", "COUNT")
21 foreach (syscall in syscalls_count- limit 20) {
22 printf("%25s %10d\n", syscall, syscalls_count[syscall])
23 }
24 delete syscalls_count
25}
26
27probe timer.s(5) {
28 print_systop ()
29 printf("--------------------------------------------------------------\n")
30}
31</pre>
32 </div><div class="para">
33 <a class="xref" href="topsyssect.html#topsys">topsys.stp</a> lists the top 20 system calls used by the system per 5-second interval. It also lists how many times each system call was used during that period. Refer to <a class="xref" href="topsyssect.html#topsysoutput">Example 5.17, “topsys.stp Sample Output”</a> for a sample output.
34 </div><a id="id739794" class="indexterm"></a><a id="id743149" class="indexterm"></a><a id="id676502" class="indexterm"></a><div class="example" id="topsysoutput"><h6>Example 5.17. <a class="xref" href="topsyssect.html#topsys">topsys.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">--------------------------------------------------------------
35 SYSCALL COUNT
36 gettimeofday 1857
37 read 1821
38 ioctl 1568
39 poll 1033
40 close 638
41 open 503
42 select 455
43 write 391
44 writev 335
45 futex 303
46 recvmsg 251
47 socket 137
48 clock_gettime 124
49 rt_sigprocmask 121
50 sendto 120
51 setitimer 106
52 stat 90
53 time 81
54 sigreturn 72
55 fstat 66
56--------------------------------------------------------------</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="timeoutssect.html"><strong>Prev</strong>5.3.4. Monitoring Polling Applications</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="syscallsbyprocpidsect.html"><strong>Next</strong>5.3.6. Tracking System Call Volume Per Process</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/traceio2sect.html b/SystemTap_Beginners_Guide/traceio2sect.html
deleted file mode 100644
index 3e4b7adb..00000000
--- a/SystemTap_Beginners_Guide/traceio2sect.html
+++ /dev/null
@@ -1,41 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.4. I/O Monitoring (By Device)</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="traceiosect.html" title="5.2.3. Track Cumulative IO" /><link rel="next" href="inodewatchsect.html" title="5.2.5. Monitoring Reads and Writes to a File" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="traceiosect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="inodewatchsect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="traceio2sect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="traceio2sect">5.2.4. I/O Monitoring (By Device)</h3></div></div></div><a id="id793807" class="indexterm"></a><a id="id1161270" class="indexterm"></a><a id="id1168771" class="indexterm"></a><a id="id506723" class="indexterm"></a><a id="id507739" class="indexterm"></a><div class="para">
4 This section describes how to monitor I/O activity on a specific device.
5 </div><div class="formalpara" id="traceio2"><h5 class="formalpara">traceio2.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8
9global device_of_interest
10
11probe begin {
12 /* The following is not the most efficient way to do this.
13 One could directly put the result of usrdev2kerndev()
14 into device_of_interest. However, want to test out
15 the other device functions */
16 dev = usrdev2kerndev($1)
17 device_of_interest = MKDEV(MAJOR(dev), MINOR(dev))
18}
19
20probe vfs.write, vfs.read
21{
22 if (dev == device_of_interest)
23 printf ("%s(%d) %s 0x%x\n",
24 execname(), pid(), probefunc(), dev)
25}
26</pre>
27 </div><a id="id809058" class="indexterm"></a><a id="id504350" class="indexterm"></a><a id="id697474" class="indexterm"></a><a id="id513095" class="indexterm"></a><a id="id816139" class="indexterm"></a><a id="id731407" class="indexterm"></a><div class="para">
28 <a class="xref" href="traceio2sect.html#traceio2">traceio2.stp</a> takes 1 argument: the whole device number. To get this number, use <code class="command">stat -c "0x%D" <em class="replaceable"><code>directory</code></em></code>, where <code class="command"><em class="replaceable"><code>directory</code></em></code> is located in the device you wish to monitor.
29 </div><a id="id521394" class="indexterm"></a><a id="id809530" class="indexterm"></a><a id="id815029" class="indexterm"></a><div class="para">
30 The <code class="command">usrdev2kerndev()</code> function converts the whole device number into the format understood by the kernel. The output produced by <code class="command">usrdev2kerndev()</code> is used in conjunction with the <code class="command">MKDEV()</code>, <code class="command">MINOR()</code>, and <code class="command">MAJOR()</code> functions to determine the major and minor numbers of a specific device.
31 </div><div class="para">
32 The output of <a class="xref" href="traceio2sect.html#traceio2">traceio2.stp</a> includes the name and ID of any process performing a read/write, the function it is performing (i.e. <code class="command">vfs_read</code> or <code class="command">vfs_write</code>), and the kernel device number.
33 </div><div class="para">
34 The following example is an excerpt from the full output of <code class="command">stap traceio2.stp 0x805</code>, where <code class="literal">0x805</code> is the whole device number of <code class="filename">/home</code>. <code class="filename">/home</code> resides in <code class="filename">/dev/sda5</code>, which is the device we wish to monitor.
35 </div><div class="example" id="traceio2output"><h6>Example 5.9. <a class="xref" href="traceio2sect.html#traceio2">traceio2.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
36synergyc(3722) vfs_read 0x800005
37synergyc(3722) vfs_read 0x800005
38cupsd(2889) vfs_write 0x800005
39cupsd(2889) vfs_write 0x800005
40cupsd(2889) vfs_write 0x800005
41[...]</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="traceiosect.html"><strong>Prev</strong>5.2.3. Track Cumulative IO</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="inodewatchsect.html"><strong>Next</strong>5.2.5. Monitoring Reads and Writes to a File</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/traceiosect.html b/SystemTap_Beginners_Guide/traceiosect.html
deleted file mode 100644
index 961f35ba..00000000
--- a/SystemTap_Beginners_Guide/traceiosect.html
+++ /dev/null
@@ -1,78 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>5.2.3. Track Cumulative IO</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="iotimesect.html" title="5.2.2. Tracking I/O Time For Each File Read or Write" /><link rel="next" href="traceio2sect.html" title="5.2.4. I/O Monitoring (By Device)" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="iotimesect.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="traceio2sect.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="section" id="traceiosect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="traceiosect">5.2.3. Track Cumulative IO</h3></div></div></div><a id="id552159" class="indexterm"></a><a id="id674977" class="indexterm"></a><a id="id746792" class="indexterm"></a><a id="id525486" class="indexterm"></a><a id="id668880" class="indexterm"></a><a id="id706056" class="indexterm"></a><div class="para">
4 This section describes how to track the cumulative amount of I/O to the system.
5 </div><div class="formalpara" id="traceio"><h5 class="formalpara">traceio.stp</h5>
6
7<pre class="programlisting">#! /usr/bin/env stap
8# traceio.stp
9# Copyright (C) 2007 Red Hat, Inc., Eugene Teo &lt;eteo@redhat.com&gt;
10# Copyright (C) 2009 Kai Meyer &lt;kai@unixlords.com&gt;
11# Fixed a bug that allows this to run longer
12# And added the humanreadable function
13#
14# This program is free software; you can redistribute it and/or modify
15# it under the terms of the GNU General Public License version 2 as
16# published by the Free Software Foundation.
17#
18
19global reads, writes, total_io
20
21probe vfs.read.return {
22 reads[pid(),execname()] += $return
23 total_io[pid(),execname()] += $return
24}
25
26probe vfs.write.return {
27 writes[pid(),execname()] += $return
28 total_io[pid(),execname()] += $return
29}
30
31function humanreadable(bytes) {
32 if (bytes &gt; 1024*1024*1024) {
33 return sprintf("%d GiB", bytes/1024/1024/1024)
34 } else if (bytes &gt; 1024*1024) {
35 return sprintf("%d MiB", bytes/1024/1024)
36 } else if (bytes &gt; 1024) {
37 return sprintf("%d KiB", bytes/1024)
38 } else {
39 return sprintf("%d B", bytes)
40 }
41}
42
43probe timer.s(1) {
44 foreach([p,e] in total_io- limit 10)
45 printf("%8d %15s r: %12s w: %12s\n",
46 p, e, humanreadable(reads[p,e]),
47 humanreadable(writes[p,e]))
48 printf("\n")
49 # Note we don't zero out reads, writes and total_io,
50 # so the values are cumulative since the script started.
51}
52</pre>
53 </div><div class="para">
54 <a class="xref" href="traceiosect.html#traceio">traceio.stp</a> prints the top ten executables generating I/O traffic over time. In addition, it also tracks the cumulative amount of I/O reads and writes done by those ten executables. This information is tracked and printed out in 1-second intervals, and in descending order.
55 </div><a id="id513317" class="indexterm"></a><a id="id794044" class="indexterm"></a><a id="id769770" class="indexterm"></a><div class="para">
56 Note that <a class="xref" href="traceiosect.html#traceio">traceio.stp</a> also uses the local variable <code class="command">$return</code>, which is also used by <a class="xref" href="mainsect-disk.html#scriptdisktop">disktop.stp</a> from <a class="xref" href="mainsect-disk.html#disktop">Section 5.2.1, “Summarizing Disk Read/Write Traffic”</a>.
57 </div><div class="example" id="traceiooutput"><h6>Example 5.8. <a class="xref" href="traceiosect.html#traceio">traceio.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
58 Xorg r: 583401 KiB w: 0 KiB
59 floaters r: 96 KiB w: 7130 KiB
60multiload-apple r: 538 KiB w: 537 KiB
61 sshd r: 71 KiB w: 72 KiB
62pam_timestamp_c r: 138 KiB w: 0 KiB
63 staprun r: 51 KiB w: 51 KiB
64 snmpd r: 46 KiB w: 0 KiB
65 pcscd r: 28 KiB w: 0 KiB
66 irqbalance r: 27 KiB w: 4 KiB
67 cupsd r: 4 KiB w: 18 KiB
68
69 Xorg r: 588140 KiB w: 0 KiB
70 floaters r: 97 KiB w: 7143 KiB
71multiload-apple r: 543 KiB w: 542 KiB
72 sshd r: 72 KiB w: 72 KiB
73pam_timestamp_c r: 138 KiB w: 0 KiB
74 staprun r: 51 KiB w: 51 KiB
75 snmpd r: 46 KiB w: 0 KiB
76 pcscd r: 28 KiB w: 0 KiB
77 irqbalance r: 27 KiB w: 4 KiB
78 cupsd r: 4 KiB w: 18 KiB</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="iotimesect.html"><strong>Prev</strong>5.2.2. Tracking I/O Time For Each File Read or Wr...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="traceio2sect.html"><strong>Next</strong>5.2.4. I/O Monitoring (By Device)</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/typecasting.html b/SystemTap_Beginners_Guide/typecasting.html
deleted file mode 100644
index c39ecaad..00000000
--- a/SystemTap_Beginners_Guide/typecasting.html
+++ /dev/null
@@ -1,11 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.3.2.2. Typecasting</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="targetvariables.html" title="3.3.2. Target Variables" /><link rel="prev" href="targetvariables.html" title="3.3.2. Target Variables" /><link rel="next" href="targetavailable.html" title="3.3.2.3. Checking Target Variable Availablility" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="targetvariables.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="targetavailable.html"><strong>Next</strong></a></li></ul><div class="section" id="typecasting"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="typecasting">3.3.2.2. Typecasting</h4></div></div></div><a id="id1178424" class="indexterm"></a><div class="para">
4 In most cases SystemTap can determine a variable's type from the debug information. However, code may use void pointers for variables (for example memory allocation routines) and typing information is not available. Also the typing information available within a probe handler is not available within a function; SystemTap functions arguments use a long in place of a typed pointer. SystemTap's <code class="command">@cast</code> operator (first available in SystemTap 0.9) can be used to indicate the correct type of the object.
5 </div><div class="para">
6 The <a class="xref" href="typecasting.html#casting">Example 3.9, “Casting Example”</a> is from the <code class="command">task.stp</code> tapset. The function returns the value of the <code class="command">state</code> field from a <code class="command">task_struct</code> pointed to by the long <code class="command">task</code>. The first argument of the <code class="command">@cast</code> operator, <code class="command">task</code>, is the pointer to the object. The second argument is the type to cast the object to, <code class="command">task_struct</code>. The third arument lists what file that the type definition information comes from and is optional. With the <code class="command">@cast</code> operator the various fields of this particular <code class="command">task_struct</code> <code class="command">task</code> can be accessed; in this example the <code class="command">state</code> field is obtained.
7 </div><div class="example" id="casting"><h6>Example 3.9. Casting Example</h6><div class="example-contents"><pre class="programlisting">function task_state:long (task:long)
8{
9 return @cast(task, "task_struct", "kernel&lt;linux/sched.h&gt;")-&gt;state
10}
11</pre></div></div><br class="example-break" /></div><ul class="docnav"><li class="previous"><a accesskey="p" href="targetvariables.html"><strong>Prev</strong>3.3.2. Target Variables</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="targetavailable.html"><strong>Next</strong>3.3.2.3. Checking Target Variable Availablility</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/understanding-how-systemtap-works.html b/SystemTap_Beginners_Guide/understanding-how-systemtap-works.html
deleted file mode 100644
index cb9385e1..00000000
--- a/SystemTap_Beginners_Guide/understanding-how-systemtap-works.html
+++ /dev/null
@@ -1,23 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. Understanding How SystemTap Works</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="using-usage.html" title="2.3. Running SystemTap Scripts" /><link rel="next" href="scripts.html" title="3.2. SystemTap Scripts" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="using-usage.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="scripts.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="understanding-how-systemtap-works" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 3. Understanding How SystemTap Works</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="understanding-how-systemtap-works.html#understanding-architecture-tools">3.1. Architecture</a></span></dt><dt><span class="section"><a href="scripts.html">3.2. SystemTap Scripts</a></span></dt><dd><dl><dt><span class="section"><a href="scripts.html#systemtapscript-events">3.2.1. Event</a></span></dt><dt><span class="section"><a href="systemtapscript-handler.html">3.2.2. Systemtap Handler/Body</a></span></dt></dl></dd><dt><span class="section"><a href="scriptconstructions.html">3.3. Basic SystemTap Handler Constructs</a></span></dt><dd><dl><dt><span class="section"><a href="scriptconstructions.html#variablesconstructs">3.3.1. Variables</a></span></dt><dt><span class="section"><a href="targetvariables.html">3.3.2. Target Variables</a></span></dt><dt><span class="section"><a href="handlerconditionalstatements.html">3.3.3. Conditional Statements</a></span></dt><dt><span class="section"><a href="commandlineargssect.html">3.3.4. Command-Line Arguments</a></span></dt></dl></dd><dt><span class="section"><a href="associativearrays.html">3.4. Associative Arrays</a></span></dt><dt><span class="section"><a href="arrayoperators.html">3.5. Array Operations in SystemTap</a></span></dt><dd><dl><dt><span class="section"><a href="arrayoperators.html#arrayops-assignvalue">3.5.1. Assigning an Associated Value</a></span></dt><dt><span class="section"><a href="arrayops-readvalues.html">3.5.2. Reading Values From Arrays</a></span></dt><dt><span class="section"><a href="arrayops-increment.html">3.5.3. Incrementing Associated Values</a></span></dt><dt><span class="section"><a href="arrayops-foreach.html">3.5.4. Processing Multiple Elements in an Array</a></span></dt><dt><span class="section"><a href="arrayops-deleting.html">3.5.5. Clearing/Deleting Arrays and Array Elements</a></span></dt><dt><span class="section"><a href="arrayops-conditionals.html">3.5.6. Using Arrays in Conditional Statements</a></span></dt><dt><span class="section"><a href="arrayops-aggregates.html">3.5.7. Computing for Statistical Aggregates</a></span></dt></dl></dd><dt><span class="section"><a href="understanding-tapsets.html">3.6. Tapsets</a></span></dt></dl></div><a id="id755027" class="indexterm"></a><div class="para">
4 SystemTap allows users to write and reuse simple scripts to deeply examine the activities of a running Linux system. These scripts can be designed to extract data, filter it, and summarize it quickly (and safely), enabling the diagnosis of complex performance (or even functional) problems.
5 </div><a id="id755016" class="indexterm"></a><a id="id755000" class="indexterm"></a><a id="id808824" class="indexterm"></a><div class="para">
6 The essential idea behind a SystemTap script is to name <span class="emphasis"><em>events</em></span>, and to give them <span class="emphasis"><em>handlers</em></span>. When SystemTap runs the script, SystemTap monitors for the event; once the event occurs, the Linux kernel then runs the handler as a quick sub-routine, then resumes.
7 </div><a id="id808726" class="indexterm"></a><a id="id808798" class="indexterm"></a><div class="para">
8 There are several kind of events; entering/exiting a function, timer expiration, session termination, etc. A handler is a series of script language statements that specify the work to be done whenever the event occurs. This work normally includes extracting data from the event context, storing them into internal variables, and printing results.
9 </div><div class="section" id="understanding-architecture-tools"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="understanding-architecture-tools">3.1. Architecture</h2></div></div></div><a id="id808761" class="indexterm"></a><a id="id808749" class="indexterm"></a><a id="id808741" class="indexterm"></a><div class="para">
10 A SystemTap session begins when you run a SystemTap script. This session occurs in the following fashion:
11 </div><div class="procedure" id="systemtapsession"><h6>Procedure 3.1. SystemTap Session</h6><a id="id808720" class="indexterm"></a><a id="id808708" class="indexterm"></a><a id="id808700" class="indexterm"></a><ol class="1"><li class="step"><div class="para">
12 First, SystemTap checks the script against the existing tapset library (normally in <code class="filename">/usr/share/systemtap/tapset/</code> for any tapsets used. SystemTap will then substitute any located tapsets with their corresponding definitions in the tapset library.
13 </div></li><li class="step"><div class="para">
14 SystemTap then translates the script to C, running the system C compiler to create a kernel module from it. The tools that perform this step are contained in the <code class="filename">systemtap</code> package (refer to <a class="xref" href="using-systemtap.html#installproper">Section 2.1.1, “Installing SystemTap”</a> for more information).
15 </div></li><li class="step"><div class="para">
16 SystemTap loads the module, then enables all the probes (events and handlers) in the script. The <code class="command">staprun</code> in the <code class="filename">systemtap-runtime</code> package (refer to <a class="xref" href="using-systemtap.html#installproper">Section 2.1.1, “Installing SystemTap”</a> for more information) provides this functionality.
17 </div></li><li class="step"><div class="para">
18 As the events occur, their corresponding handlers are executed.
19 </div></li><li class="step"><div class="para">
20 Once the SystemTap session is terminated, the probes are disabled, and the kernel module is unloaded.
21 </div></li></ol></div><div class="para">
22 This sequence is driven from a single command-line program: <code class="command">stap</code>. This program is SystemTap's main front-end tool. For more information about <code class="command">stap</code>, refer to <code class="command">man stap</code> (once SystemTap is properly installed on your machine).
23 </div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="using-usage.html"><strong>Prev</strong>2.3. Running SystemTap Scripts</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="scripts.html"><strong>Next</strong>3.2. SystemTap Scripts</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/understanding-tapsets.html b/SystemTap_Beginners_Guide/understanding-tapsets.html
deleted file mode 100644
index 05f8164d..00000000
--- a/SystemTap_Beginners_Guide/understanding-tapsets.html
+++ /dev/null
@@ -1,11 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>3.6. Tapsets</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /><link rel="prev" href="arrayops-aggregates.html" title="3.5.7. Computing for Statistical Aggregates" /><link rel="next" href="userspace-probing.html" title="Chapter 4. User-Space Probing" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-aggregates.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="userspace-probing.html"><strong>Next</strong></a></li></ul><div class="section" id="understanding-tapsets"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="understanding-tapsets">3.6. Tapsets</h2></div></div></div><a id="id814435" class="indexterm"></a><div class="para">
4 <em class="firstterm">Tapsets</em> are scripts that form a library of pre-written probes and functions to be used in SystemTap scripts. When a user runs a SystemTap script, SystemTap checks the script's probe events and handlers against the tapset library; SystemTap then loads the corresponding probes and functions before translating the script to C (refer to <a class="xref" href="understanding-how-systemtap-works.html#understanding-architecture-tools">Section 3.1, “Architecture”</a> for information on what transpires in a SystemTap session).
5 </div><div class="para">
6 Like SystemTap scripts, tapsets use the file name extension <code class="filename">.stp</code>. The standard library of tapsets is located in <code class="filename">/usr/share/systemtap/tapset/</code> by default. However, unlike SystemTap scripts, tapsets are not meant for direct execution; rather, they constitute the library from which other scripts can pull definitions.
7 </div><div class="para">
8 Simply put, the tapset library is an abstraction layer designed to make it easier for users to define events and functions. In a manner of speaking, tapsets provide useful aliases for functions that users may want to specify as an event; knowing the proper alias to use is, for the most part, easier than remembering specific kernel functions that might vary between kernel versions.
9 </div><div class="para">
10 Several handlers and functions in <a class="xref" href="scripts.html#systemtapscript-events">Section 3.2.1, “Event”</a> and <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a> are defined in tapsets. For example, <code class="command">thread_indent()</code> is defined in <code class="filename">indent.stp</code>.
11 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="arrayops-aggregates.html"><strong>Prev</strong>3.5.7. Computing for Statistical Aggregates</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="userspace-probing.html"><strong>Next</strong>Chapter 4. User-Space Probing</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/useful-systemtap-scripts.html b/SystemTap_Beginners_Guide/useful-systemtap-scripts.html
deleted file mode 100644
index 7d70ce99..00000000
--- a/SystemTap_Beginners_Guide/useful-systemtap-scripts.html
+++ /dev/null
@@ -1,298 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 5. Useful SystemTap Scripts</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="ustack.html" title="4.3. User-Space Stack Backtraces" /><link rel="next" href="mainsect-disk.html" title="5.2. Disk" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="ustack.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="mainsect-disk.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="useful-systemtap-scripts" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 5. Useful SystemTap Scripts</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="useful-systemtap-scripts.html#mainsect-network">5.1. Network</a></span></dt><dd><dl><dt><span class="section"><a href="useful-systemtap-scripts.html#nettopsect">5.1.1. Network Profiling</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#sockettracesect">5.1.2. Tracing Functions Called in Network Socket Code</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#tcpconnectionssect">5.1.3. Monitoring Incoming TCP Connections</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#tcpdumplikesect">5.1.4. Monitoring TCP Packets</a></span></dt><dt><span class="section"><a href="useful-systemtap-scripts.html#dropwatchsect">5.1.5. Monitoring Network Packets Drops in Kernel</a></span></dt></dl></dd><dt><span class="section"><a href="mainsect-disk.html">5.2. Disk</a></span></dt><dd><dl><dt><span class="section"><a href="mainsect-disk.html#disktop">5.2.1. Summarizing Disk Read/Write Traffic</a></span></dt><dt><span class="section"><a href="iotimesect.html">5.2.2. Tracking I/O Time For Each File Read or Write</a></span></dt><dt><span class="section"><a href="traceiosect.html">5.2.3. Track Cumulative IO</a></span></dt><dt><span class="section"><a href="traceio2sect.html">5.2.4. I/O Monitoring (By Device)</a></span></dt><dt><span class="section"><a href="inodewatchsect.html">5.2.5. Monitoring Reads and Writes to a File</a></span></dt><dt><span class="section"><a href="inodewatch2sect.html">5.2.6. Monitoring Changes to File Attributes</a></span></dt><dt><span class="section"><a href="ioblktimesect.html">5.2.7. Periodically Print I/O Block Time</a></span></dt></dl></dd><dt><span class="section"><a href="mainsect-profiling.html">5.3. Profiling</a></span></dt><dd><dl><dt><span class="section"><a href="mainsect-profiling.html#countcallssect">5.3.1. Counting Function Calls Made</a></span></dt><dt><span class="section"><a href="paracallgraph.html">5.3.2. Call Graph Tracing</a></span></dt><dt><span class="section"><a href="threadtimessect.html">5.3.3. Determining Time Spent in Kernel and User Space</a></span></dt><dt><span class="section"><a href="timeoutssect.html">5.3.4. Monitoring Polling Applications</a></span></dt><dt><span class="section"><a href="topsyssect.html">5.3.5. Tracking Most Frequently Used System Calls</a></span></dt><dt><span class="section"><a href="syscallsbyprocpidsect.html">5.3.6. Tracking System Call Volume Per Process</a></span></dt></dl></dd><dt><span class="section"><a href="futexcontentionsect.html">5.4. Identifying Contended User-Space Locks</a></span></dt></dl></div><a id="id515503" class="indexterm"></a><a id="id515487" class="indexterm"></a><a id="id515479" class="indexterm"></a><a id="id515472" class="indexterm"></a><div class="para">
4 This chapter enumerates several SystemTap scripts you can use to monitor and investigate different subsystems. All of these scripts are available at <code class="filename">/usr/share/systemtap/testsuite/systemtap.examples/</code> once you install the <code class="filename">systemtap-testsuite</code> RPM.
5 </div><div class="section" id="mainsect-network"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="mainsect-network">5.1. Network</h2></div></div></div><div class="para">
6 The following sections showcase scripts that trace network-related functions and build a profile of network activity.
7 </div><div xml:lang="en-US" class="section" id="nettopsect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="nettopsect">5.1.1. Network Profiling</h3></div></div></div><a id="id769094" class="indexterm"></a><a id="id769082" class="indexterm"></a><a id="id769069" class="indexterm"></a><a id="id797988" class="indexterm"></a><a id="id797976" class="indexterm"></a><div class="para">
8 This section describes how to profile network activity. <a class="xref" href="useful-systemtap-scripts.html#nettop">nettop.stp</a> provides a glimpse into how much network traffic each process is generating on a machine.
9 </div><div class="formalpara" id="nettop"><h5 class="formalpara">nettop.stp</h5>
10
11<pre class="programlisting">#! /usr/bin/env stap
12
13global ifxmit, ifrecv
14global ifmerged
15
16probe netdev.transmit
17{
18 ifxmit[pid(), dev_name, execname(), uid()] &lt;&lt;&lt; length
19}
20
21probe netdev.receive
22{
23 ifrecv[pid(), dev_name, execname(), uid()] &lt;&lt;&lt; length
24}
25
26function print_activity()
27{
28 printf("%5s %5s %-7s %7s %7s %7s %7s %-15s\n",
29 "PID", "UID", "DEV", "XMIT_PK", "RECV_PK",
30 "XMIT_KB", "RECV_KB", "COMMAND")
31
32 foreach ([pid, dev, exec, uid] in ifrecv) {
33 ifmerged[pid, dev, exec, uid] += @count(ifrecv[pid,dev,exec,uid]);
34 }
35 foreach ([pid, dev, exec, uid] in ifxmit) {
36 ifmerged[pid, dev, exec, uid] += @count(ifxmit[pid,dev,exec,uid]);
37 }
38 foreach ([pid, dev, exec, uid] in ifmerged-) {
39 n_xmit = @count(ifxmit[pid, dev, exec, uid])
40 n_recv = @count(ifrecv[pid, dev, exec, uid])
41 printf("%5d %5d %-7s %7d %7d %7d %7d %-15s\n",
42 pid, uid, dev, n_xmit, n_recv,
43 n_xmit ? @sum(ifxmit[pid, dev, exec, uid])/1024 : 0,
44 n_recv ? @sum(ifrecv[pid, dev, exec, uid])/1024 : 0,
45 exec)
46 }
47
48 print("\n")
49
50 delete ifxmit
51 delete ifrecv
52 delete ifmerged
53}
54
55probe timer.ms(5000), end, error
56{
57 print_activity()
58}
59</pre>
60 </div><a id="id736699" class="indexterm"></a><a id="id527368" class="indexterm"></a><a id="id808012" class="indexterm"></a><div class="para">
61 Note that <code class="command">function print_activity()</code> uses the following expressions:
62 </div><pre class="screen">n_xmit ? @sum(ifxmit[pid, dev, exec, uid])/1024 : 0
63n_recv ? @sum(ifrecv[pid, dev, exec, uid])/1024 : 0</pre><div class="para">
64 These expressions are if/else conditionals. The first statement is simply a more concise way of writing the following psuedo code:
65 </div><pre class="screen">if n_recv != 0 then
66 @sum(ifrecv[pid, dev, exec, uid])/1024
67else
68 0</pre><div class="para">
69 <a class="xref" href="useful-systemtap-scripts.html#nettop">nettop.stp</a> tracks which processes are generating network traffic on the system, and provides the following information about each process:
70 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
71 <code class="computeroutput">PID</code> — the ID of the listed process.
72 </div></li><li class="listitem"><div class="para">
73 <code class="computeroutput">UID</code> — user ID. A user ID of <code class="computeroutput">0</code> refers to the root user.
74 </div></li><li class="listitem"><div class="para">
75 <code class="computeroutput">DEV</code> — which ethernet device the process used to send / receive data (e.g. eth0, eth1)
76 </div></li><li class="listitem"><div class="para">
77 <code class="computeroutput">XMIT_PK</code> — number of packets transmitted by the process
78 </div></li><li class="listitem"><div class="para">
79 <code class="computeroutput">RECV_PK</code> — number of packets received by the process
80 </div></li><li class="listitem"><div class="para">
81 <code class="computeroutput">XMIT_KB</code> — amount of data sent by the process, in kilobytes
82 </div></li><li class="listitem"><div class="para">
83 <code class="computeroutput">RECV_KB</code> — amount of data received by the service, in kilobytes
84 </div></li></ul></div><div class="para">
85 <a class="xref" href="useful-systemtap-scripts.html#nettop">nettop.stp</a> provides network profile sampling every 5 seconds. You can change this setting by editing <code class="command">probe timer.ms(5000)</code> accordingly. <a class="xref" href="useful-systemtap-scripts.html#nettopoutput">Example 5.1, “nettop.stp Sample Output”</a> contains an excerpt of the output from <a class="xref" href="useful-systemtap-scripts.html#nettop">nettop.stp</a> over a 20-second period:
86 </div><div class="example" id="nettopoutput"><h6>Example 5.1. <a class="xref" href="useful-systemtap-scripts.html#nettop">nettop.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
87 PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
88 0 0 eth0 0 5 0 0 swapper
8911178 0 eth0 2 0 0 0 synergyc
90
91 PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
92 2886 4 eth0 79 0 5 0 cups-polld
9311362 0 eth0 0 61 0 5 firefox
94 0 0 eth0 3 32 0 3 swapper
95 2886 4 lo 4 4 0 0 cups-polld
9611178 0 eth0 3 0 0 0 synergyc
97
98 PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
99 0 0 eth0 0 6 0 0 swapper
100 2886 4 lo 2 2 0 0 cups-polld
10111178 0 eth0 3 0 0 0 synergyc
102 3611 0 eth0 0 1 0 0 Xorg
103
104 PID UID DEV XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
105 0 0 eth0 3 42 0 2 swapper
10611178 0 eth0 43 1 3 0 synergyc
10711362 0 eth0 0 7 0 0 firefox
108 3897 0 eth0 0 1 0 0 multiload-apple
109[...]</pre></div></div><br class="example-break" /></div><div xml:lang="en-US" class="section" id="sockettracesect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="sockettracesect">5.1.2. Tracing Functions Called in Network Socket Code</h3></div></div></div><a id="id520305" class="indexterm"></a><a id="id603580" class="indexterm"></a><a id="id604280" class="indexterm"></a><a id="id614409" class="indexterm"></a><a id="id525431" class="indexterm"></a><a id="id1141302" class="indexterm"></a><a id="id689408" class="indexterm"></a><a id="id727467" class="indexterm"></a><div class="para">
110 This section describes how to trace functions called from the kernel's <code class="filename">net/socket.c</code> file. This task helps you identify, in finer detail, how each process interacts with the network at the kernel level.
111 </div><div class="formalpara" id="sockettrace"><h5 class="formalpara">socket-trace.stp</h5>
112
113<pre class="programlisting">#! /usr/bin/env stap
114
115probe kernel.function("*@net/socket.c").call {
116 printf ("%s -&gt; %s\n", thread_indent(1), probefunc())
117}
118probe kernel.function("*@net/socket.c").return {
119 printf ("%s &lt;- %s\n", thread_indent(-1), probefunc())
120}
121</pre>
122 </div><div class="para">
123 <a class="xref" href="useful-systemtap-scripts.html#sockettrace">socket-trace.stp</a> is identical to <a class="xref" href="systemtapscript-handler.html#thread_indent">Example 3.6, “thread_indent.stp”</a>, which was earlier used in <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a> to illustrate how <code class="command">thread_indent()</code> works.
124 </div><div class="example" id="sockettraceoutput"><h6>Example 5.2. <a class="xref" href="useful-systemtap-scripts.html#sockettrace">socket-trace.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">[...]
1250 Xorg(3611): -&gt; sock_poll
1263 Xorg(3611): &lt;- sock_poll
1270 Xorg(3611): -&gt; sock_poll
1283 Xorg(3611): &lt;- sock_poll
1290 gnome-terminal(11106): -&gt; sock_poll
1305 gnome-terminal(11106): &lt;- sock_poll
1310 scim-bridge(3883): -&gt; sock_poll
1323 scim-bridge(3883): &lt;- sock_poll
1330 scim-bridge(3883): -&gt; sys_socketcall
1344 scim-bridge(3883): -&gt; sys_recv
1358 scim-bridge(3883): -&gt; sys_recvfrom
13612 scim-bridge(3883):-&gt; sock_from_file
13716 scim-bridge(3883):&lt;- sock_from_file
13820 scim-bridge(3883):-&gt; sock_recvmsg
13924 scim-bridge(3883):&lt;- sock_recvmsg
14028 scim-bridge(3883): &lt;- sys_recvfrom
14131 scim-bridge(3883): &lt;- sys_recv
14235 scim-bridge(3883): &lt;- sys_socketcall
143[...]</pre></div></div><br class="example-break" /><div class="para">
144 <a class="xref" href="useful-systemtap-scripts.html#sockettraceoutput">Example 5.2, “socket-trace.stp Sample Output”</a> contains a 3-second excerpt of the output for <a class="xref" href="useful-systemtap-scripts.html#sockettrace">socket-trace.stp</a>. For more information about the output of this script as provided by <code class="command">thread_indent()</code>, refer to <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a> <a class="xref" href="systemtapscript-handler.html#thread_indent">Example 3.6, “thread_indent.stp”</a>.
145 </div></div><div xml:lang="en-US" class="section" id="tcpconnectionssect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="tcpconnectionssect">5.1.3. Monitoring Incoming TCP Connections</h3></div></div></div><a id="id766411" class="indexterm"></a><a id="id762688" class="indexterm"></a><a id="id641329" class="indexterm"></a><a id="id642319" class="indexterm"></a><a id="id520925" class="indexterm"></a><div class="para">
146 This section illustrates how to monitor incoming TCP connections. This task is useful in identifying any unauthorized, suspicious, or otherwise unwanted network access requests in real time.
147 </div><div class="formalpara" id="tcpconnections"><h5 class="formalpara">tcp_connections.stp</h5>
148
149<pre class="programlisting">#! /usr/bin/env stap
150
151probe begin {
152 printf("%6s %16s %6s %6s %16s\n",
153 "UID", "CMD", "PID", "PORT", "IP_SOURCE")
154}
155
156probe kernel.function("tcp_accept").return?,
157 kernel.function("inet_csk_accept").return? {
158 sock = $return
159 if (sock != 0)
160 printf("%6d %16s %6d %6d %16s\n", uid(), execname(), pid(),
161 inet_get_local_port(sock), inet_get_ip_source(sock))
162}
163</pre>
164 </div><div class="para">
165 While <a class="xref" href="useful-systemtap-scripts.html#tcpconnections">tcp_connections.stp</a> is running, it will print out the following information about any incoming TCP connections accepted by the system in real time:
166 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
167 Current <code class="command">UID</code>
168 </div></li><li class="listitem"><div class="para">
169 <code class="command">CMD</code> - the command accepting the connection
170 </div></li><li class="listitem"><div class="para">
171 <code class="command">PID</code> of the command
172 </div></li><li class="listitem"><div class="para">
173 Port used by the connection
174 </div></li><li class="listitem"><div class="para">
175 IP address from which the TCP connection originated
176 </div></li></ul></div><div class="example" id="tcpconnectionsoutput"><h6>Example 5.3. <a class="xref" href="useful-systemtap-scripts.html#tcpconnections">tcp_connections.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">UID CMD PID PORT IP_SOURCE
1770 sshd 3165 22 10.64.0.227
1780 sshd 3165 22 10.64.0.227</pre></div></div><br class="example-break" /></div><div xml:lang="en-US" class="section" id="tcpdumplikesect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="tcpdumplikesect">5.1.4. Monitoring TCP Packets</h3></div></div></div><a id="id786702" class="indexterm"></a><a id="id531770" class="indexterm"></a><a id="id670851" class="indexterm"></a><a id="id496329" class="indexterm"></a><a id="id760910" class="indexterm"></a><div class="para">
179 This section illustrates how to monitor TCP packets received by the system. This is useful in analyzing network traffic generated by applications running on the system.
180 </div><div class="formalpara" id="tcpdumplike"><h5 class="formalpara">tcpdumplike.stp</h5>
181
182<pre class="programlisting"> #! /usr/bin/env stap
183
184// A TCP dump like example
185
186probe begin, timer.s(1) {
187 printf("-----------------------------------------------------------------\n")
188 printf(" Source IP Dest IP SPort DPort U A P R S F \n")
189 printf("-----------------------------------------------------------------\n")
190}
191
192probe tcp.receive {
193 printf(" %15s %15s %5d %5d %d %d %d %d %d %d\n",
194 saddr, daddr, sport, dport, urg, ack, psh, rst, syn, fin)
195}
196</pre>
197 </div><div class="para">
198 While <a class="xref" href="useful-systemtap-scripts.html#tcpdumplike">tcpdumplike.stp</a> is running, it will print out the following information about any received TCP packets in real time:
199 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
200 Source and destination IP address (<code class="command">saddr</code>, <code class="command">daddr</code>, respectively)
201 </div></li><li class="listitem"><div class="para">
202 Source and destination ports (<code class="command">sport</code>, <code class="command">dport</code>, respectively)
203 </div></li><li class="listitem"><div class="para">
204 Packet flags
205 </div></li></ul></div><div class="para">
206 To determine the flags used by the packet, <a class="xref" href="useful-systemtap-scripts.html#tcpdumplike">tcpdumplike.stp</a> uses the following functions:
207 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
208 <code class="command">urg</code> - urgent
209 </div></li><li class="listitem"><div class="para">
210 <code class="command">ack</code> - acknowledgement
211 </div></li><li class="listitem"><div class="para">
212 <code class="command">psh</code> - push
213 </div></li><li class="listitem"><div class="para">
214 <code class="command">rst</code> - reset
215 </div></li><li class="listitem"><div class="para">
216 <code class="command">syn</code> - synchronize
217 </div></li><li class="listitem"><div class="para">
218 <code class="command">fin</code> - finished
219 </div></li></ul></div><div class="para">
220 The aforementioned functions return <code class="command">1</code> or <code class="command">0</code> to specify whether the packet uses the corresponding flag.
221 </div><div class="example" id="tcpdumplikeoutput"><h6>Example 5.4. <a class="xref" href="useful-systemtap-scripts.html#tcpdumplike">tcpdumplike.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">-----------------------------------------------------------------
222 Source IP Dest IP SPort DPort U A P R S F
223-----------------------------------------------------------------
224 209.85.229.147 10.0.2.15 80 20373 0 1 1 0 0 0
225 92.122.126.240 10.0.2.15 80 53214 0 1 0 0 1 0
226 92.122.126.240 10.0.2.15 80 53214 0 1 0 0 0 0
227 209.85.229.118 10.0.2.15 80 63433 0 1 0 0 1 0
228 209.85.229.118 10.0.2.15 80 63433 0 1 0 0 0 0
229 209.85.229.147 10.0.2.15 80 21141 0 1 1 0 0 0
230 209.85.229.147 10.0.2.15 80 21141 0 1 1 0 0 0
231 209.85.229.147 10.0.2.15 80 21141 0 1 1 0 0 0
232 209.85.229.147 10.0.2.15 80 21141 0 1 1 0 0 0
233 209.85.229.147 10.0.2.15 80 21141 0 1 1 0 0 0
234 209.85.229.118 10.0.2.15 80 63433 0 1 1 0 0 0
235[...]</pre></div></div><br class="example-break" /></div><div xml:lang="en-US" class="section" id="dropwatchsect" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="dropwatchsect">5.1.5. Monitoring Network Packets Drops in Kernel</h3></div></div></div><a id="id1178612" class="indexterm"></a><a id="id530496" class="indexterm"></a><a id="id614119" class="indexterm"></a><a id="id644599" class="indexterm"></a><a id="id662233" class="indexterm"></a><div class="para">
236 <a id="id552490" class="indexterm"></a>
237 The network stack in Linux can discard packets for various reasons. Some Linux kernels include a tracepoint, <code class="command">kernel.trace("kfree_skb")</code>, which easily tracks where packets are discarded. <a class="xref" href="useful-systemtap-scripts.html#dropwatch">dropwatch.stp</a> uses <code class="command">kernel.trace("kfree_skb")</code> to trace packet discards; the script summarizes which locations discard packets every five-second interval.
238 </div><div class="formalpara" id="dropwatch"><h5 class="formalpara">dropwatch.stp</h5>
239
240<pre class="programlisting">#! /usr/bin/env stap
241
242############################################################
243# Dropwatch.stp
244# Author: Neil Horman &lt;nhorman@redhat.com&gt;
245# An example script to mimic the behavior of the dropwatch utility
246# http://fedorahosted.org/dropwatch
247############################################################
248
249# Array to hold the list of drop points we find
250global locations
251
252# Note when we turn the monitor on and off
253probe begin { printf("Monitoring for dropped packets\n") }
254probe end { printf("Stopping dropped packet monitor\n") }
255
256# increment a drop counter for every location we drop at
257probe kernel.trace("kfree_skb") { locations[$location] &lt;&lt;&lt; 1 }
258
259# Every 5 seconds report our drop locations
260probe timer.sec(5)
261{
262 printf("\n")
263 foreach (l in locations-) {
264 printf("%d packets dropped at %s\n",
265 @count(locations[l]), symname(l))
266 }
267 delete locations
268}
269</pre>
270 </div><div class="para">
271 The <code class="command">kernel.trace("kfree_skb")</code> traces which places in the kernel drop network packets. The <code class="command">kernel.trace("kfree_skb")</code> has two arguments: a pointer to the buffer being freed (<code class="command">$skb</code>) and the location in kernel code the buffer is being freed (<code class="command">$location</code>). The <a class="xref" href="useful-systemtap-scripts.html#dropwatch">dropwatch.stp</a> script provides the function containing <code class="command">$location</code> where possible. The information to map <code class="command">$location</code> back to the function is not in the instrumentation by default. On Systemtap 1.4 the <code class="command">--all-modules</code> option will include the required mapping information and the following command can be used to run the script:
272 </div><pre class="programlisting">stap --all-modules dropwatch.stp</pre><div class="para">
273 On older versions of Systemtap you can use the following command to emulate the <code class="command">--all-modules</code> option:
274 </div><pre class="programlisting">stap -dkernel \
275`cat /proc/modules | awk 'BEGIN { ORS = " " } {print "-d"$1}'` \
276dropwatch.stp</pre><div class="para">
277 Running the dropwatch.stp script 15 seconds would result in output similar in <a class="xref" href="useful-systemtap-scripts.html#dropwatchoutput">Example 5.5, “dropwatch.stp Sample Output”</a>. The output lists the number of misses for each tracepoint location with either the function name or the address.
278 </div><div class="example" id="dropwatchoutput"><h6>Example 5.5. <a class="xref" href="useful-systemtap-scripts.html#dropwatch">dropwatch.stp</a> Sample Output</h6><div class="example-contents"><pre class="screen">Monitoring for dropped packets
279
2801762 packets dropped at unix_stream_recvmsg
2814 packets dropped at tun_do_read
2822 packets dropped at nf_hook_slow
283
284467 packets dropped at unix_stream_recvmsg
28520 packets dropped at nf_hook_slow
2866 packets dropped at tun_do_read
287
288446 packets dropped at unix_stream_recvmsg
2894 packets dropped at tun_do_read
2904 packets dropped at nf_hook_slow
291Stopping dropped packet monitor
292</pre></div></div><br class="example-break" /><div class="para">
293 When the script is being compiled on one machine and run on another the <code class="command">--all-modules</code> and <code class="filename">/proc/modules</code> directory are not available; the <code class="command">symname</code> function will just print out the raw address. To make the raw address of packet drops more meaningful, refer to the <code class="filename">/boot/System.map-`uname -r`</code> file. This file lists the starting addresses for each function, allowing you to map the addresses in the output of <a class="xref" href="useful-systemtap-scripts.html#dropwatchoutput">Example 5.5, “dropwatch.stp Sample Output”</a> to a specific function name. Given the following snippet of the <code class="filename">/boot/System.map-`uname -r`</code> file, the address 0xffffffff8149a8ed maps to the function <code class="command">unix_stream_recvmsg</code>:
294 </div><pre class="screen">[...]
295ffffffff8149a420 t unix_dgram_poll
296ffffffff8149a5e0 t unix_stream_recvmsg
297ffffffff8149ad00 t unix_find_other
298[...]</pre></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="ustack.html"><strong>Prev</strong>4.3. User-Space Stack Backtraces</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="mainsect-disk.html"><strong>Next</strong>5.2. Disk</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/userspace-probing.html b/SystemTap_Beginners_Guide/userspace-probing.html
deleted file mode 100644
index c0e1c929..00000000
--- a/SystemTap_Beginners_Guide/userspace-probing.html
+++ /dev/null
@@ -1,35 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. User-Space Probing</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="understanding-tapsets.html" title="3.6. Tapsets" /><link rel="next" href="utargetvariable.html" title="4.2. Accessing User-Space Target Variables" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="understanding-tapsets.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="utargetvariable.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="userspace-probing" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 4. User-Space Probing</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="userspace-probing.html#uevents">4.1. User-Space Events</a></span></dt><dt><span class="section"><a href="utargetvariable.html">4.2. Accessing User-Space Target Variables</a></span></dt><dt><span class="section"><a href="ustack.html">4.3. User-Space Stack Backtraces</a></span></dt></dl></div><div class="para">
4 SystemTap initially focused on kernel-space probing. However, there are many instances where user-space probing can help diagnose a problem. SystemTap 0.6 added support to allow probing user-space processes. SystemTap includes support for probing the entry into and return from a function in user-space processes, probing predefined markers in user-space code, and monitoring user-process events.
5 </div><div class="para">
6 The SystemTap user-space probing requires the utrace kernel extensions which provide an API for tracking various user-space events. More details about the utrace infrastructure are available at <a href="http://sourceware.org/systemtap/wiki/utrace">http://sourceware.org/systemtap/wiki/utrace</a>. The following command determines whether the currently running Linux kernel provides the needed utrace support:
7 </div><pre class="screen">grep CONFIG_UTRACE /boot/config-`uname -r`</pre><div class="para">
8 If the Linux kernel support user-space probing, the following output is printed:
9 </div><pre class="screen">CONFIG_UTRACE=y</pre><div class="para">
10 The SystemTap user-space probing also needs the uprobes kernel module. If the uprobes kernel module is not available, you will see an error message like the following when attempting to run a script that requires the uprobes kernel module:
11 </div><pre class="screen">SystemTap's version of uprobes is out of date.
12As root, or a member of the 'root' group, run
13"make -C /usr/share/systemtap/runtime/uprobes".
14Pass 4: compilation failed. Try again with another '--vp 0001' option.</pre><div class="para">
15 If this occurs, you need to generate a uprobes.ko module for the kernel as directed.
16 </div><div class="section" id="uevents"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="uevents">4.1. User-Space Events</h2></div></div></div><a id="id502169" class="indexterm"></a><div class="para">
17 All user-space event probes begin with <span class="emphasis"><em>process</em></span>. The process events can be limited to a specific running process by specifying the process ID. The process events can also be limited to monitoring a particular executable by specifying the path to executable (PATH). SystemTap makes use of the <code class="command">PATH</code> environment variable, so both the name used on the command-line to start the executable and the absolute path to the executable can be used. Several of user-space probe events limit their scope to a particular executable name (PATH) because SystemTap must use debug information to statically analyzed where to places the probes, but for many user-space probes events the process ID and executable name are optional. Any <code class="command">process</code> event in the list below that include process ID or the path to the executable must include those arguments. The process ID and path to the executable are optional for the <code class="command">process</code> events that do not list them:
18 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">process("<em class="replaceable"><code>PATH</code></em>").function("<em class="replaceable"><code>function</code></em>")</span></dt><dd><div class="para">
19 The entry to the user-space function <em class="replaceable"><code>function</code></em> for the executable <em class="replaceable"><code>PATH</code></em>. This event is the user-space analogue of the <code class="command">kernel.function("<em class="replaceable"><code>function</code></em>")</code> event. It allows wildcards for the function <em class="replaceable"><code>function</code></em> and <code class="command">.return</code> suffix.
20 </div></dd><dt class="varlistentry"><span class="term">process("<em class="replaceable"><code>PATH</code></em>").statement("<em class="replaceable"><code>statement</code></em>")</span></dt><dd><div class="para">
21 The earliest instruction in the code for <em class="replaceable"><code>statement</code></em>. This is the user-space analogue of <code class="command">kernel.statement("<em class="replaceable"><code>statement</code></em>")</code>.
22 </div></dd><dt class="varlistentry"><span class="term">process("<em class="replaceable"><code>PATH</code></em>").mark("<em class="replaceable"><code>marker</code></em>")</span></dt><dd><div class="para">
23 The static probe point <em class="replaceable"><code>marker</code></em> defined in <em class="replaceable"><code>PATH</code></em>. Wildcards can be used for <em class="replaceable"><code>marker</code></em> to specify mutiple marks with a single probe. The static probe points may also have numbered arguments ($1, $2, etc.) available to the probe. A variety of user-space packages such as Java include these static probe points. Most packages that provide static probe points also provide aliases for the raw user-space mark events. Below is one such alias for the x86_64 Java hotspot JVM:
24 </div><pre class="screen">probe hotspot.gc_begin =
25 process("/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so").mark("gc__begin")</pre></dd><dt class="varlistentry"><span class="term">process.begin</span></dt><dd><div class="para">
26 User-space process is created. This can be limited to a a particular process ID or a full path to the executable.
27 </div></dd><dt class="varlistentry"><span class="term">process.thread.begin</span></dt><dd><div class="para">
28 User-space thread is created. This can be limited to a a particular process ID or a full path to the executable.
29 </div></dd><dt class="varlistentry"><span class="term">process.end</span></dt><dd><div class="para">
30 User-space process died. This can be limited to a a particular process ID or a full path to the executable.
31 </div></dd><dt class="varlistentry"><span class="term">process.thread.end</span></dt><dd><div class="para">
32 User-space thread is destroyed. This can be limited to a a particular process ID or a full path to the executable.
33 </div></dd><dt class="varlistentry"><span class="term">process.syscall</span></dt><dd><div class="para">
34 User-space process makes a system call. The system call number is available via $syscall context variable, and the fist six arguments are available via $arg1 through $arg6. The ".return" suffix will place the probe at the return from the system call. For the "syscall.return" the return value is available through the $return context variable. This can be limited to a a particular process ID or a full path to the executable.
35 </div></dd></dl></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="understanding-tapsets.html"><strong>Prev</strong>3.6. Tapsets</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="utargetvariable.html"><strong>Next</strong>4.2. Accessing User-Space Target Variables</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/using-systemtap.html b/SystemTap_Beginners_Guide/using-systemtap.html
deleted file mode 100644
index 85575c4f..00000000
--- a/SystemTap_Beginners_Guide/using-systemtap.html
+++ /dev/null
@@ -1,83 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Using SystemTap</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="index.html" title="SystemTap Beginners Guide" /><link rel="prev" href="intro-systemtap-vs-others.html" title="1.2. SystemTap Capabilities" /><link rel="next" href="cross-compiling.html" title="2.2. Generating Instrumentation for Other Computers" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="intro-systemtap-vs-others.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="cross-compiling.html"><strong>Next</strong></a></li></ul><div xml:lang="en-US" class="chapter" id="using-systemtap" lang="en-US"><div class="titlepage"><div><div><h2 class="title">Chapter 2. Using SystemTap</h2></div></div></div><div class="toc"><dl><dt><span class="section"><a href="using-systemtap.html#using-setup">2.1. Installation and Setup</a></span></dt><dd><dl><dt><span class="section"><a href="using-systemtap.html#installproper">2.1.1. Installing SystemTap</a></span></dt><dt><span class="section"><a href="using-systemtap.html#install-kinfo">2.1.2. Installing Required Kernel Information RPMs</a></span></dt><dt><span class="section"><a href="using-systemtap.html#testing">2.1.3. Initial Testing</a></span></dt></dl></dd><dt><span class="section"><a href="cross-compiling.html">2.2. Generating Instrumentation for Other Computers</a></span></dt><dt><span class="section"><a href="using-usage.html">2.3. Running SystemTap Scripts</a></span></dt><dd><dl><dt><span class="section"><a href="using-usage.html#flight-recorder">2.3.1. SystemTap Flight Recorder Mode</a></span></dt></dl></dd></dl></div><a id="id709148" class="indexterm"></a><div class="para">
4 This chapter instructs users how to install SystemTap, and provides an introduction on how to run SystemTap scripts.
5 </div><div xml:lang="en-US" class="section" id="using-setup" lang="en-US"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="using-setup">2.1. Installation and Setup</h2></div></div></div><a id="id799847" class="indexterm"></a><a id="id799835" class="indexterm"></a><div class="para">
6 To deploy SystemTap, you need to install the SystemTap packages along with the corresponding set of <code class="filename">-devel</code>, <code class="filename">-debuginfo</code> and <code class="filename">-debuginfo-common</code> packages for your kernel. If your system has multiple kernels installed, and you wish to use SystemTap on more than one kernel kernel, you will need to install the <code class="filename">-devel</code> and <code class="filename">-debuginfo</code> packages for <span class="emphasis"><em>each</em></span> of those kernel versions.
7 </div><div class="para">
8 These procedures will be discussed in detail in the following sections.
9 </div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
10 Many users confuse <code class="filename">-debuginfo</code> with <code class="filename">-debug</code>. Remember that the deployment of SystemTap requires the installation of the <code class="filename">-debuginfo</code> package of the kernel, not the <code class="filename">-debug</code> version of the kernel.
11 </div></div></div><div class="section" id="installproper"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="installproper">2.1.1. Installing SystemTap</h3></div></div></div><div class="para">
12 To deploy Systemtap, you will need to to install the following RPMs:
13 </div><a id="id799755" class="indexterm"></a><a id="id1182688" class="indexterm"></a><a id="id1182712" class="indexterm"></a><a id="id1182701" class="indexterm"></a><div class="itemizedlist"><ul><li class="listitem"><div class="para">
14 <code class="filename">systemtap</code>
15 </div></li><li class="listitem"><div class="para">
16 <code class="filename">systemtap-runtime</code>
17 </div></li></ul></div><div class="para">
18 Assuming that <code class="command">yum</code> is installed in the system, these two rpms can be installed with <code class="command">yum install systemtap systemtap-runtime</code>. Note that before you can use SystemTap, you will still need to install the required kernel information RPMs.
19 </div></div><div class="section" id="install-kinfo"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="install-kinfo">2.1.2. Installing Required Kernel Information RPMs</h3></div></div></div><a id="id1182637" class="indexterm"></a><a id="id1182631" class="indexterm"></a><a id="id1182624" class="indexterm"></a><a id="id1182614" class="indexterm"></a><a id="id1182606" class="indexterm"></a><a id="id1182589" class="indexterm"></a><div class="para">
20 SystemTap needs information about the kernel in order to place instrumentation in it (i.e. probe it). This information also allows SystemTap to generate the code for the instrumentation. This information is contained in the matching <code class="filename">-devel</code>, <code class="filename">-debuginfo</code>, and <code class="filename">-debuginfo-common</code> packages for your kernel. The necessary <code class="filename">-devel</code> and <code class="filename">-debuginfo</code> packages for the ordinary "vanilla" kernel are as follows:
21 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
22 <code class="filename">kernel-debuginfo</code>
23 </div></li><li class="listitem"><div class="para">
24 <code class="filename">kernel-debuginfo-common</code>
25 </div></li><li class="listitem"><div class="para">
26 <code class="filename">kernel-devel</code>
27 </div></li></ul></div><div class="para">
28 Likewise, the necessary packages for the PAE kernel would be <code class="filename">kernel-PAE-debuginfo</code>, <code class="filename">kernel-PAE-debuginfo-common</code>, and <code class="filename">kernel-PAE-devel</code>.
29 </div><a id="id622624" class="indexterm"></a><a id="id622608" class="indexterm"></a><a id="id622596" class="indexterm"></a><a id="id683249" class="indexterm"></a><div class="para">
30 To determine what kernel your system is currently using, use:
31 </div><pre class="screen">uname -r</pre><div class="para">
32 For example, if you wish to use SystemTap on kernel version <code class="filename">2.6.18-53.el5</code> on an i686 machine, then you would need to download and install the following RPMs:
33 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
34 <code class="filename">kernel-debuginfo-2.6.18-53.1.13.el5.i686.rpm</code>
35 </div></li><li class="listitem"><div class="para">
36 <code class="filename">kernel-debuginfo-common-2.6.18-53.1.13.el5.i686.rpm</code>
37 </div></li><li class="listitem"><div class="para">
38 <code class="filename">kernel-devel-2.6.18-53.1.13.el5.i686.rpm</code>
39 </div></li></ul></div><div class="important"><div class="admonition_header"><h2>Important</h2></div><div class="admonition"><div class="para">
40 The version, variant, and architecture of the <code class="filename">-devel</code>, <code class="filename">-debuginfo</code> and <code class="filename">-debuginfo-common</code> packages must match the kernel you wish to probe with SystemTap <span class="emphasis"><em>exactly</em></span>.
41 </div></div></div><div class="para">
42 The easiest way to install the required kernel information packages is through <code class="command">yum install</code> and <code class="command">debuginfo-install</code> commands. <code class="command">debuginfo-install</code> is included with later versions of the <code class="filename">yum-utils</code> package (for example, version 1.1.10), and also requires an appropriate <code class="command">yum</code> repository from which to download and install <code class="command">-debuginfo</code>/<code class="filename">-debuginfo-common</code> packages. You can install the required <code class="filename">-devel</code>, <code class="filename">-debuginfo</code>, and <code class="filename">-debuginfo-common</code> packages for your kernel.
43 </div><div class="para">
44 With the appropriate software repositories are enabled, install the corresponding packages for a specific kernel using <code class="command">yum</code> with the following commands:
45 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
46 <code class="command">yum install <em class="replaceable"><code>kernelname</code></em>-devel-<em class="replaceable"><code>version</code></em></code>
47 </div></li><li class="listitem"><div class="para">
48 <code class="command">debuginfo-install <em class="replaceable"><code>kernelname</code></em>-<em class="replaceable"><code>version</code></em></code>
49 </div></li></ul></div><div class="para">
50 Replace <code class="command"><em class="replaceable"><code>kernelname</code></em></code> with the appropriate kernel variant name (for example, <code class="filename">kernel-PAE</code>), and <code class="command"><em class="replaceable"><code>version</code></em></code> with the target kernel's version. For example, to install the required kernel information packages for the <code class="command">kernel-PAE-2.6.18-53.1.13.el5</code> kernel, run:
51 </div><div class="itemizedlist"><ul><li class="listitem"><div class="para">
52 <code class="command">yum install kernel-PAE-devel-2.6.18-53.1.13.el5</code>
53 </div></li><li class="listitem"><div class="para">
54 <code class="command">debuginfo-install kernel-PAE-2.6.18-53.1.13.el5</code>
55 </div></li></ul></div><div class="para">
56 If you do not have <code class="command">yum</code> and <code class="command">yum-utils</code> installed (and you are unable to install them), you will have to manually download and install the required kernel information packages. To generate the URL from which to download the required packages, use the following script:
57 </div><a id="id753920" class="indexterm"></a><a id="id508781" class="indexterm"></a><div class="formalpara"><h5 class="formalpara" id="id508758">fedoradebugurl.sh</h5>
58
59<pre class="programlisting">#! /bin/bash
60echo -n "Enter nvr of kernel-debuginfo (e.g. 2.6.25-14.fc9.x86_64) " ; \
61read NVR; \
62BASE=`uname -m` ; \
63NVR=`echo $NVR | sed s/.$BASE//` ; \
64VERSION=`echo $NVR | awk -F- '{print $1}'` ; \
65RELEASE=`echo $NVR | awk -F- '{print $2}'` ; \
66echo "http://kojipkgs.fedoraproject.org/\
67packages/kernel/$VERSION/$RELEASE/$BASE/"
68</pre>
69 </div><div class="para">
70 Once you have manually downloaded the required packages to the machine, install the RPMs by running <code class="command">rpm --force -ivh <em class="replaceable"><code>package_names</code></em></code>.
71 </div></div><div class="section" id="testing"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="testing">2.1.3. Initial Testing</h3></div></div></div><a id="id508723" class="indexterm"></a><a id="id793929" class="indexterm"></a><a id="id745266" class="indexterm"></a><div class="para">
72 If you are currently using the kernel you wish to probe with SystemTap, you can immediately test whether the deployment was successful. If not, you will need to reboot and load the appropriate kernel.
73 </div><div class="para">
74 To start the test, run the command <code class="command">stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'</code>. This command simply instructs SystemTap to print <code class="computeroutput">read performed</code> then exit properly once a virtual file system read is detected. If the SystemTap deployment was successful, you should get output similar to the following:
75 </div><pre class="screen">Pass 1: parsed user script and 45 library script(s) in 340usr/0sys/358real ms.
76Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 290usr/260sys/568real ms.
77Pass 3: translated to C into "/tmp/stapiArgLX/stap_e5886fa50499994e6a87aacdc43cd392_399.c" in 490usr/430sys/938real ms.
78Pass 4: compiled C into "stap_e5886fa50499994e6a87aacdc43cd392_399.ko" in 3310usr/430sys/3714real ms.
79Pass 5: starting run.
80read performed
81Pass 5: run completed in 10usr/40sys/73real ms.</pre><div class="para">
82 The last three lines of the output (i.e. beginning with <code class="computeroutput">Pass 5</code>) indicate that SystemTap was able to successfully create the instrumentation to probe the kernel, run the instrumentation, detect the event being probed (in this case, a virtual file system read), and execute a valid handler (print text then close it with no errors).
83 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="intro-systemtap-vs-others.html"><strong>Prev</strong>1.2. SystemTap Capabilities</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="cross-compiling.html"><strong>Next</strong>2.2. Generating Instrumentation for Other Compute...</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/using-usage.html b/SystemTap_Beginners_Guide/using-usage.html
deleted file mode 100644
index f00af2b9..00000000
--- a/SystemTap_Beginners_Guide/using-usage.html
+++ /dev/null
@@ -1,64 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>2.3. Running SystemTap Scripts</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="using-systemtap.html" title="Chapter 2. Using SystemTap" /><link rel="prev" href="cross-compiling.html" title="2.2. Generating Instrumentation for Other Computers" /><link rel="next" href="understanding-how-systemtap-works.html" title="Chapter 3. Understanding How SystemTap Works" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="cross-compiling.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="understanding-how-systemtap-works.html"><strong>Next</strong></a></li></ul><div class="section" id="using-usage"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="using-usage">2.3. Running SystemTap Scripts</h2></div></div></div><a id="id673336" class="indexterm"></a><a id="id784213" class="indexterm"></a><a id="id741858" class="indexterm"></a><a id="id711192" class="indexterm"></a><a id="id494015" class="indexterm"></a><a id="id1070957" class="indexterm"></a><div class="para">
4 SystemTap scripts are run through the command <code class="command">stap</code>. <code class="command">stap</code> can run SystemTap scripts from standard input or from file.
5 </div><a id="id642131" class="indexterm"></a><div class="para">
6 Running <code class="command">stap</code> and <code class="command">staprun</code> requires elevated privileges to the system. However, not all users can be granted root access just to run SystemTap. In some cases, for instance, you may want to allow a non-privileged user to run SystemTap instrumentation on his machine.
7 </div><div class="para">
8 To allow ordinary users to run SystemTap without root access, add them to one of these user groups:
9 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">stapdev</span></dt><dd><a id="id616908" class="indexterm"></a><a id="id467912" class="indexterm"></a><div class="para">
10 Members of this group can use <code class="command">stap</code> to run SystemTap scripts, or <code class="command">staprun</code> to run SystemTap instrumentation modules.
11 </div><div class="para">
12 Running <code class="command">stap</code> involves compiling SystemTap scripts into kernel modules and loading them into the kernel. This requires elevated privileges to the system, which are granted to <code class="command">stapdev</code> members. Unfortunately, such privileges also grant effective root access to <code class="command">stapdev</code> members. As such, you should only grant <code class="command">stapdev</code> group membership to users whom you can trust root access.
13 </div></dd><dt class="varlistentry"><span class="term">stapusr</span></dt><dd><a id="id544487" class="indexterm"></a><a id="id544499" class="indexterm"></a><div class="para">
14 Members of this group can only run <code class="command">staprun</code> to run SystemTap instrumentation modules. In addition, they can only run those modules from <code class="filename">/lib/modules/<em class="replaceable"><code>kernel_version</code></em>/systemtap/</code>. Note that this directory must be owned only by the root user, and must only be writable by the root user.
15 </div></dd></dl></div><div class="para">
16 Below is a list of commonly used <code class="command">stap</code> options:
17 </div><a id="id623679" class="indexterm"></a><a id="id623691" class="indexterm"></a><div class="variablelist"><a id="id513046" class="indexterm"></a><dl><dt class="varlistentry"><span class="term">-v</span></dt><dd><div class="para">
18 Makes the output of the SystemTap session more verbose. You can repeat this option (for example, <code class="command">stap -vvv script.stp</code>) to provide more details on the script's execution. This option is particularly useful if you encounter any errors in running the script.
19 </div><div class="para">
20 For more information about common SystemTap script errors, refer to <a class="xref" href="errors.html">Chapter 6, <em>Understanding SystemTap Errors</em></a>.
21 </div></dd><dt class="varlistentry"><span class="term">-o <em class="replaceable"><code>filename</code></em></span></dt><dd><div class="para">
22 Sends the standard output to file (<em class="replaceable"><code>filename</code></em>).
23 </div></dd><dt class="varlistentry"><span class="term">-S <em class="replaceable"><code>size</code></em>,<em class="replaceable"><code>count</code></em></span></dt><dd><div class="para">
24 Limit files to <em class="replaceable"><code>size</code></em> megabytes and limit the the number of files kept around to <em class="replaceable"><code>count</code></em>. The file names will have a sequence number suffix. This option implements logrotate operations for SystemTap.
25 </div></dd><dt class="varlistentry"><span class="term">-x <em class="replaceable"><code>process ID</code></em></span></dt><dd><div class="para">
26 Sets the SystemTap handler function <code class="command">target()</code> to the specified process ID. For more information about <code class="command">target()</code>, refer to <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a>.
27 </div></dd><dt class="varlistentry"><span class="term">-c '<em class="replaceable"><code>command</code></em>'</span></dt><dd><div class="para">
28 Sets the SystemTap handler function <code class="command">target()</code> to the specified command and runs the SystemTap instrumentation for the duration of the specified command. For more information about <code class="command">target()</code>, refer to <a class="xref" href="systemtapscript-handler.html#systemtapscript-functions">SystemTap Functions</a>.
29 </div></dd><dt class="varlistentry"><span class="term">-e '<em class="replaceable"><code>script</code></em>'</span></dt><dd><div class="para">
30 Use <code class="command"><em class="replaceable"><code>script</code></em></code> string rather than a file as input for systemtap translator.
31 </div></dd><dt class="varlistentry"><span class="term">-F</span></dt><dd><div class="para">
32 Use SystemTap's Flight recorder mode and make the script a background process. For more information about flight recorder mode, refer to <a class="xref" href="using-usage.html#flight-recorder">Section 2.3.1, “SystemTap Flight Recorder Mode”</a>.
33 </div></dd></dl></div><div class="para">
34 You can also instruct <code class="command">stap</code> to run scripts from standard input using the switch <code class="command">-</code>. To illustrate:
35 </div><a id="id636748" class="indexterm"></a><a id="id636759" class="indexterm"></a><a id="id783646" class="indexterm"></a><div class="example" id="stdinstap"><h6>Example 2.1. Running Scripts From Standard Input</h6><div class="example-contents"><pre class="programlisting">echo "probe timer.s(1) {exit()}" | stap -</pre></div></div><br class="example-break" /><div class="para">
36 <a class="xref" href="using-usage.html#stdinstap">Example 2.1, “Running Scripts From Standard Input”</a> instructs <code class="command">stap</code> to run the script passed by <code class="command">echo</code> to standard input. Any <code class="command">stap</code> options you wish to use should be inserted before the <code class="command">-</code> switch; for instance, to make the example in <a class="xref" href="using-usage.html#stdinstap">Example 2.1, “Running Scripts From Standard Input”</a> more verbose, the command would be:
37 </div><div class="para">
38 <code class="command">echo "probe timer.s(1) {exit()}" | stap -v -</code>
39 </div><div class="para">
40 For more information about <code class="command">stap</code>, refer to <code class="command">man stap</code>.
41 </div><div class="para">
42 To run SystemTap instrumentation (i.e. the kernel module built from SystemTap scripts during a cross-instrumentation), use <code class="command">staprun</code> instead. For more information about <code class="command">staprun</code> and cross-instrumentation, refer to <a class="xref" href="cross-compiling.html">Section 2.2, “Generating Instrumentation for Other Computers”</a>.
43 </div><div class="note"><div class="admonition_header"><h2>Note</h2></div><div class="admonition"><div class="para">
44 The <code class="command">stap</code> options <code class="command">-v</code> and <code class="command">-o</code> also work for <code class="command">staprun</code>. For more information about <code class="command">staprun</code>, refer to <code class="command">man staprun</code>.
45 </div></div></div><div class="section" id="flight-recorder"><div class="titlepage"><div><div keep-together.within-column="always"><h3 class="title" id="flight-recorder">2.3.1. SystemTap Flight Recorder Mode</h3></div></div></div><a id="id724660" class="indexterm"></a><div class="para">
46 SystemTap's flight recorder mode allows you to run a SystemTap script run for long periods and just focus on recent output. The flight recorder mode (the <code class="command">-F</code> option) limits the amount of output generated. There are two variations of the flight recorder mode: in-memory and file mode. In both cases the SystemTap script runs as a background process.
47 </div><div class="section" id="memory-flight-recorder"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="memory-flight-recorder">2.3.1.1. In-memory Flight Recorder</h4></div></div></div><a id="id517672" class="indexterm"></a><div class="para">
48 When flight recorder mode (the <code class="command">-F</code> option) is used without a file name SystemTap uses a buffer in kernel memory to store the output of the script. The SystemTap instrumentation module will load and the probes start running, the instrumentation will then detach and be put in the background. When the interesting event occurs, you can reattach to the instrumentation and see the recent output in the memory buffer and any continuing output. The following command starts a script using the flight recorder in-memory mode:
49 </div><pre class="screen">stap -F iotime.stp</pre><div class="para">
50 Once the script starts, you will see a message like the following that provides the command to reconnect to the running script:
51 </div><pre class="screen">Disconnecting from systemtap module.
52To reconnect, type "staprun -A stap_5dd0073edcb1f13f7565d8c343063e68_19556"</pre><div class="para">
53 When the interesting event occurs, you reattach to the currently running script and output the recent data in the memory buffer and get continuing output with the following command:
54 </div><pre class="screen">staprun -A stap_5dd0073edcb1f13f7565d8c343063e68_19556</pre><div class="para">
55 By default the kernel buffer is 1MB in size and it can be increased with the <code class="command">-s</code> option specifying the size in megabytes (rounded up to the next power over 2) for the buffer. For example <code class="command">-s2</code> on the SystemTap command line would specify 2MB for the buffer.
56 </div></div><div class="section" id="file-flight-recorder"><div class="titlepage"><div><div keep-together.within-column="always"><h4 class="title" id="file-flight-recorder">2.3.1.2. File Flight Recorder</h4></div></div></div><a id="id750558" class="indexterm"></a><div class="para">
57 The flight recorder mode can also store data to files. The number and size of the files kept is controlled by the <code class="command">-S</code> option followed by two numerical arguments separated by a comma. The first argument is the maximum size in megabytes for the each output file. The second argument is the number of recent files to keep. The file name is specified by the <code class="command">-o</code> option followed by the name. SystemTap will add a number suffix to the file name to indicate the order of the files. The following will start SystemTap in file flight recorder mode with the output going to files named <code class="command">/tmp/iotime.log.</code><em class="replaceable"><code>[0-9]+</code></em> and each file 1MB or smaller and keeping latest two files:
58 </div><pre class="screen">stap -F -o /tmp/pfaults.log -S 1,2 pfaults.stp</pre><div class="para">
59 The number printed by the command is the process ID. Sending a SIGTERM to the process will shutdown the SystemTap script and stop the data collection. For example if the previous command listed the 7590 as the process ID, the following command whould shutdown the systemtap script:
60 </div><pre class="screen">kill -s SIGTERM 7590</pre><div class="para">
61 Only the most recent two file generated by the script are kept and the older files are been removed. Thus, <code class="command">ls -sh /tmp/pfaults.log.*</code> shows the only two files:
62 </div><pre class="screen">1020K /tmp/pfaults.log.5 44K /tmp/pfaults.log.6</pre><div class="para">
63 One can look at the highest number file for the latest data, in this case /tmp/pfaults.log.6.
64 </div></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="cross-compiling.html"><strong>Prev</strong>2.2. Generating Instrumentation for Other Compute...</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="understanding-how-systemtap-works.html"><strong>Next</strong>Chapter 3. Understanding How SystemTap Works</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/ustack.html b/SystemTap_Beginners_Guide/ustack.html
deleted file mode 100644
index e8e162ec..00000000
--- a/SystemTap_Beginners_Guide/ustack.html
+++ /dev/null
@@ -1,31 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.3. User-Space Stack Backtraces</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="userspace-probing.html" title="Chapter 4. User-Space Probing" /><link rel="prev" href="utargetvariable.html" title="4.2. Accessing User-Space Target Variables" /><link rel="next" href="useful-systemtap-scripts.html" title="Chapter 5. Useful SystemTap Scripts" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="utargetvariable.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="useful-systemtap-scripts.html"><strong>Next</strong></a></li></ul><div class="section" id="ustack"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="ustack">4.3. User-Space Stack Backtraces</h2></div></div></div><a id="id495102" class="indexterm"></a><div class="para">
4 The probe point (<code class="command">pp</code>) function indicates which particular event triggered the the SystemTap event handler. A probe on the entry into a function would list the function name. However, in many cases the same probe point event may be triggered by many different modules in the program; this is particularly true for functions in shared libraries. A SystemTap backtrace of the user-space stack can provide additional context on how the probe point event is triggered.
5 </div><div class="para">
6 The user-space stack backtrace generation is complicated by the compiler producing code optimized to eliminate stack frame pointers. However, the compiler also includes information in the debug information section to allow debugging tools to produce stack backtraces. SystemTap user-space stack backtrace mechanism makes use of that debug information to walk the stack to generate stack traces for 32-bit and 64-bit x86 processors; other processor architectures do not yet support the use of debug information to unwind the user-space stack. You will need to use the <code class="command">-d <em class="replaceable"><code>executable</code></em></code> for the application executable and <code class="command">-ldd</code> for shared libraries to ensure that the needed debug information is used to produce the user-space stack backtraces.
7 </div><div class="para">
8 If you want to see how the function <code class="command">xmalloc</code> function is being called by the command <code class="command">ls</code>, you could use the user-space backtrack functions to provide that information. With the debuginfo for the <code class="command">ls</code> command installed the following SystemTap command will provide a backtrace each time the <code class="command">xmalloc</code> function is called:
9 </div><pre class="screen">stap -d /bin/ls --ldd \
10-e 'probe process("ls").function("xmalloc") {print_ustack(ubacktrace())}' \
11-c "ls /"</pre><div class="para">
12 When the SystemTap script runs will have output similar to the following:
13 </div><pre class="screen">
14bin dev lib media net proc sbin sys var
15boot etc lib64 misc op_session profilerc selinux tmp
16cgroup home lost+found mnt opt root srv usr
17 0x4116c0 : xmalloc+0x0/0x20 [/bin/ls]
18 0x4116fc : xmemdup+0x1c/0x40 [/bin/ls]
19 0x40e68b : clone_quoting_options+0x3b/0x50 [/bin/ls]
20 0x4087e4 : main+0x3b4/0x1900 [/bin/ls]
21 0x3fa441ec5d : __libc_start_main+0xfd/0x1d0 [/lib64/libc-2.12.so]
22 0x402799 : _start+0x29/0x2c [/bin/ls]
23 0x4116c0 : xmalloc+0x0/0x20 [/bin/ls]
24 0x4116fc : xmemdup+0x1c/0x40 [/bin/ls]
25 0x40e68b : clone_quoting_options+0x3b/0x50 [/bin/ls]
26 0x40884a : main+0x41a/0x1900 [/bin/ls]
27 0x3fa441ec5d : __libc_start_main+0xfd/0x1d0 [/lib64/libc-2.12.so]
28 ...
29</pre><div class="para">
30 For more details on the functions available for user-space stack backtraces look at the <code class="command">ucontext-symbols.stp</code> and <code class="command">ucontext-unwind.stp</code> tapsets. The descriptions of the functions in those tapsets can also be found in the <em class="citetitle">SystemTap Tapset Reference Manual</em>.
31 </div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="utargetvariable.html"><strong>Prev</strong>4.2. Accessing User-Space Target Variables</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="useful-systemtap-scripts.html"><strong>Next</strong>Chapter 5. Useful SystemTap Scripts</a></li></ul></body></html>
diff --git a/SystemTap_Beginners_Guide/utargetvariable.html b/SystemTap_Beginners_Guide/utargetvariable.html
deleted file mode 100644
index 1187e6ec..00000000
--- a/SystemTap_Beginners_Guide/utargetvariable.html
+++ /dev/null
@@ -1,17 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4.2. Accessing User-Space Target Variables</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta name="generator" content="publican 2.5" /><meta name="package" content="Systemtap-SystemTap_Beginners_Guide-1.7-en-US-2.0-2" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="userspace-probing.html" title="Chapter 4. User-Space Probing" /><link rel="prev" href="userspace-probing.html" title="Chapter 4. User-Space Probing" /><link rel="next" href="ustack.html" title="4.3. User-Space Stack Backtraces" /></head><body><p id="title"><a class="left" href="http://www.fedoraproject.org"><img src="Common_Content/images/image_left.png" alt="Product Site" /></a><a class="right" href="http://docs.fedoraproject.org"><img src="Common_Content/images/image_right.png" alt="Documentation Site" /></a></p><ul class="docnav"><li class="previous"><a accesskey="p" href="userspace-probing.html"><strong>Prev</strong></a></li><li class="next"><a accesskey="n" href="ustack.html"><strong>Next</strong></a></li></ul><div class="section" id="utargetvariable"><div class="titlepage"><div><div keep-together.within-column="always"><h2 class="title" id="utargetvariable">4.2. Accessing User-Space Target Variables</h2></div></div></div><a id="id646408" class="indexterm"></a><div class="para">
4 User-space target variables can be accessed in the same manner as described in <a class="xref" href="targetvariables.html">Section 3.3.2, “Target Variables”</a>. However, in Linux there are separate address spaces for the user and kernel code. When using "-&gt;" operator SystemTap will access the appropriate address space. For pointers to base types such as integers and strings there are a number of functions listed below to access user-space data. The first argument for each functions is the pointer to the data item.
5 </div><div class="variablelist"><dl><dt class="varlistentry"><span class="term">user_char(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
6 Obtain the character at <em class="replaceable"><code>address</code></em> for the current user process.
7 </div></dd><dt class="varlistentry"><span class="term">user_short(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
8 Obtain the short at <em class="replaceable"><code>address</code></em> for the current user process.
9 </div></dd><dt class="varlistentry"><span class="term">user_int(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
10 Obtain the int at <em class="replaceable"><code>address</code></em> for the current user process.
11 </div></dd><dt class="varlistentry"><span class="term">user_long(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
12 Obtain the long at <em class="replaceable"><code>address</code></em> for the current user process.
13 </div></dd><dt class="varlistentry"><span class="term">user_string(<em class="replaceable"><code>address</code></em>)</span></dt><dd><div class="para">
14 Obtain the string at <em class="replaceable"><code>address</code></em> for the current user process.
15 </div></dd><dt class="varlistentry"><span class="term">user_string_n(<em class="replaceable"><code>address</code></em>, <em class="replaceable"><code>n</code></em>)</span></dt><dd><div class="para">
16 Obtain the string at <em class="replaceable"><code>address</code></em> for the current user process and limits the string to <em class="replaceable"><code>n</code></em> bytes.
17 </div></dd></dl></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="userspace-probing.html"><strong>Prev</strong>Chapter 4. User-Space Probing</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="ustack.html"><strong>Next</strong>4.3. User-Space Stack Backtraces</a></li></ul></body></html>