iostat - add read/write details to output
[dragonfly.git] / contrib / bind / bin / named / bind9.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  - Copyright (C) 2006-2009  Internet Systems Consortium, Inc. ("ISC")
4  -
5  - Permission to use, copy, modify, and/or distribute this software for any
6  - purpose with or without fee is hereby granted, provided that the above
7  - copyright notice and this permission notice appear in all copies.
8  -
9  - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  - PERFORMANCE OF THIS SOFTWARE.
16 -->
17
18 <!-- $Id: bind9.xsl,v 1.13.130.8 2009/01/29 23:47:13 tbox Exp $ -->
19
20 <xsl:stylesheet version="1.0"
21    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
22    xmlns="http://www.w3.org/1999/xhtml">
23   <xsl:template match="isc/bind/statistics">
24     <html>
25       <head>
26         <style type="text/css">
27 body {
28         font-family: sans-serif;
29         background-color: #ffffff;
30         color: #000000;
31 }
32
33 table {
34         border-collapse: collapse;
35 }
36
37 tr.rowh {
38         text-align: center;
39         border: 1px solid #000000;
40         background-color: #8080ff;
41         color: #ffffff;
42 }
43
44 tr.row {
45         text-align: right;
46         border: 1px solid #000000;
47         background-color: teal;
48         color: #ffffff;
49 }
50
51 tr.lrow {
52         text-align: left;
53         border: 1px solid #000000;
54         background-color: teal;
55         color: #ffffff;
56 }
57
58 td, th {
59         padding-right: 5px;
60         padding-left: 5px;
61 }
62
63 .header h1 {
64         background-color: teal;
65         color: #ffffff;
66         padding: 4px;
67 }
68
69 .content {
70         background-color: #ffffff;
71         color: #000000;
72         padding: 4px;
73 }
74
75 .item {
76         padding: 4px;
77         align: right;
78 }
79
80 .value {
81         padding: 4px;
82         font-weight: bold;
83 }
84
85 div.statcounter h2 {
86         text-align: center;
87         font-size: large;
88         border: 1px solid #000000;
89         background-color: #8080ff;
90         color: #ffffff;
91 }
92
93 div.statcounter dl {
94         float: left;
95         margin-top: 0;
96         margin-bottom: 0;
97         margin-left: 0;
98         margin-right: 0;
99 }
100
101 div.statcounter dt {
102         width: 200px;
103         text-align: center;
104         font-weight: bold;
105         border: 0.5px solid #000000;
106         background-color: #8080ff;
107         color: #ffffff;
108 }
109
110 div.statcounter dd {
111         width: 200px;
112         text-align: right;
113         border: 0.5px solid #000000;
114         background-color: teal;
115         color: #ffffff;
116         margin-left: 0;
117         margin-right: 0;
118 }
119
120 div.statcounter br {
121         clear: left;
122 }
123         </style>
124         <title>BIND 9 Statistics</title>
125       </head>
126       <body>
127         <div class="header">
128           <h1>Bind 9 Configuration and Statistics</h1>
129         </div>
130
131         <br/>
132
133         <table>
134           <tr class="rowh"><th colspan="2">Times</th></tr>
135           <tr class="lrow">
136             <td>boot-time</td>
137             <td><xsl:value-of select="server/boot-time"/></td>
138           </tr>
139           <tr class="lrow">
140             <td>current-time</td>
141             <td><xsl:value-of select="server/current-time"/></td>
142           </tr>
143         </table>
144
145         <br/>
146
147         <table>
148           <tr class="rowh"><th colspan="2">Incoming Requests</th></tr>
149           <xsl:for-each select="server/requests/opcode">
150             <tr class="lrow">
151               <td><xsl:value-of select="name"/></td>
152               <td><xsl:value-of select="counter"/></td>
153             </tr>
154           </xsl:for-each>
155         </table>
156
157         <br/>
158
159         <table>
160           <tr class="rowh"><th colspan="2">Incoming Queries</th></tr>
161           <xsl:for-each select="server/queries-in/rdtype">
162             <tr class="lrow">
163               <td><xsl:value-of select="name"/></td>
164               <td><xsl:value-of select="counter"/></td>
165             </tr>
166           </xsl:for-each>
167         </table>
168
169         <br/>
170
171         <xsl:for-each select="views/view">
172           <table>
173             <tr class="rowh">
174               <th colspan="2">Outgoing Queries from View <xsl:value-of select="name"/></th>
175             </tr>
176             <xsl:for-each select="rdtype">
177               <tr class="lrow">
178                 <td><xsl:value-of select="name"/></td>
179                 <td><xsl:value-of select="counter"/></td>
180               </tr>
181             </xsl:for-each>
182           </table>
183           <br/>
184         </xsl:for-each>
185
186         <br/>
187
188         <div class="statcounter">
189           <h2>Server Statistics</h2>
190           <xsl:for-each select="server/nsstat">
191             <dl>
192               <dt><xsl:value-of select="name"/></dt>
193               <dd><xsl:value-of select="counter"/></dd>
194             </dl>
195           </xsl:for-each>
196           <br/>
197         </div>
198
199         <div class="statcounter">
200           <h2>Zone Maintenance Statistics</h2>
201           <xsl:for-each select="server/zonestat">
202             <dl>
203               <dt><xsl:value-of select="name"/></dt>
204               <dd><xsl:value-of select="counter"/></dd>
205             </dl>
206           </xsl:for-each>
207           <br />
208         </div>
209
210         <div class="statcounter">
211           <h2>Resolver Statistics (Common)</h2>
212           <xsl:for-each select="server/resstat">
213             <dl>
214               <dt><xsl:value-of select="name"/></dt>
215               <dd><xsl:value-of select="counter"/></dd>
216             </dl>
217           </xsl:for-each>
218           <br />
219         </div>
220
221         <xsl:for-each select="views/view">
222           <div class="statcounter">
223             <h2>Resolver Statistics for View <xsl:value-of select="name"/></h2>
224             <xsl:for-each select="resstat">
225               <dl>
226                 <dt><xsl:value-of select="name"/></dt>
227                 <dd><xsl:value-of select="counter"/></dd>
228               </dl>
229             </xsl:for-each>
230             <br />
231           </div>
232         </xsl:for-each>
233
234         <br />
235
236         <xsl:for-each select="views/view">
237           <table>
238             <tr class="rowh">
239               <th colspan="2">Cache DB RRsets for View <xsl:value-of select="name"/></th>
240             </tr>
241             <xsl:for-each select="cache/rrset">
242               <tr class="lrow">
243                 <td><xsl:value-of select="name"/></td>
244                 <td><xsl:value-of select="counter"/></td>
245               </tr>
246             </xsl:for-each>
247           </table>
248           <br/>
249         </xsl:for-each>
250
251         <div class="statcounter">
252           <h2>Socket I/O Statistics</h2>
253           <xsl:for-each select="server/sockstat">
254             <dl>
255               <dt><xsl:value-of select="name"/></dt>
256               <dd><xsl:value-of select="counter"/></dd>
257             </dl>
258           </xsl:for-each>
259           <br/>
260         </div>
261
262         <br/>
263
264         <xsl:for-each select="views/view">
265           <table>
266             <tr class="rowh">
267               <th colspan="10">Zones for View <xsl:value-of select="name"/></th>
268             </tr>
269             <tr class="rowh">
270               <th>Name</th>
271               <th>Class</th>
272               <th>Serial</th>
273               <th>Success</th>
274               <th>Referral</th>
275               <th>NXRRSET</th>
276               <th>NXDOMAIN</th>
277               <th>Failure</th>
278               <th>XfrReqDone</th>
279               <th>XfrRej</th>
280             </tr>
281             <xsl:for-each select="zones/zone">
282               <tr class="lrow">
283                 <td>
284                   <xsl:value-of select="name"/>
285                 </td>
286                 <td>
287                   <xsl:value-of select="rdataclass"/>
288                 </td>
289                 <td>
290                   <xsl:value-of select="serial"/>
291                 </td>
292                 <td>
293                   <xsl:value-of select="counters/QrySuccess"/>
294                 </td>
295                 <td>
296                   <xsl:value-of select="counters/QryReferral"/>
297                 </td>
298                 <td>
299                   <xsl:value-of select="counters/QryNxrrset"/>
300                 </td>
301                 <td>
302                   <xsl:value-of select="counters/QryNXDOMAIN"/>
303                 </td>
304                 <td>
305                   <xsl:value-of select="counters/QryFailure"/>
306                 </td>
307                 <td>
308                   <xsl:value-of select="counters/XfrReqDone"/>
309                 </td>
310                 <td>
311                   <xsl:value-of select="counters/XfrRej"/>
312                 </td>
313               </tr>
314             </xsl:for-each>
315           </table>
316           <br/>
317         </xsl:for-each>
318
319         <br/>
320
321         <table>
322           <tr class="rowh">
323             <th colspan="7">Network Status</th>
324           </tr>
325           <tr class="rowh">
326             <th>ID</th>
327             <th>Name</th>
328             <th>Type</th>
329             <th>References</th>
330             <th>LocalAddress</th>
331             <th>PeerAddress</th>
332             <th>State</th>
333           </tr>
334           <xsl:for-each select="socketmgr/sockets/socket">
335             <tr class="lrow">
336               <td>
337                 <xsl:value-of select="id"/>
338               </td>
339               <td>
340                 <xsl:value-of select="name"/>
341               </td>
342               <td>
343                 <xsl:value-of select="type"/>
344               </td>
345               <td>
346                 <xsl:value-of select="references"/>
347               </td>
348               <td>
349                 <xsl:value-of select="local-address"/>
350               </td>
351               <td>
352                 <xsl:value-of select="peer-address"/>
353               </td>
354               <td>
355                 <xsl:for-each select="states">
356                   <xsl:value-of select="."/>
357                 </xsl:for-each>
358               </td>
359             </tr>
360           </xsl:for-each>
361         </table>
362         <br/>
363         <table>
364           <tr class="rowh">
365             <th colspan="2">Task Manager Configuration</th>
366           </tr>
367           <tr class="lrow">
368             <td>Thread-Model</td>
369             <td>
370               <xsl:value-of select="taskmgr/thread-model/type"/>
371             </td>
372           </tr>
373           <tr class="lrow">
374             <td>Worker Threads</td>
375             <td>
376               <xsl:value-of select="taskmgr/thread-model/worker-threads"/>
377             </td>
378           </tr>
379           <tr class="lrow">
380             <td>Default Quantum</td>
381             <td>
382               <xsl:value-of select="taskmgr/thread-model/default-quantum"/>
383             </td>
384           </tr>
385           <tr class="lrow">
386             <td>Tasks Running</td>
387             <td>
388               <xsl:value-of select="taskmgr/thread-model/tasks-running"/>
389             </td>
390           </tr>
391         </table>
392         <br/>
393         <table>
394           <tr class="rowh">
395             <th colspan="5">Tasks</th>
396           </tr>
397           <tr class="rowh">
398             <th>ID</th>
399             <th>Name</th>
400             <th>References</th>
401             <th>State</th>
402             <th>Quantum</th>
403           </tr>
404           <xsl:for-each select="taskmgr/tasks/task">
405             <tr class="lrow">
406               <td>
407                 <xsl:value-of select="id"/>
408               </td>
409               <td>
410                 <xsl:value-of select="name"/>
411               </td>
412               <td>
413                 <xsl:value-of select="references"/>
414               </td>
415               <td>
416                 <xsl:value-of select="state"/>
417               </td>
418               <td>
419                 <xsl:value-of select="quantum"/>
420               </td>
421             </tr>
422           </xsl:for-each>
423         </table>
424         <br />
425         <table>
426           <tr class="rowh">
427             <th colspan="4">Memory Usage Summary</th>
428           </tr>
429           <xsl:for-each select="memory/summary/*">
430             <tr class="lrow">
431               <td><xsl:value-of select="name()"/></td>
432               <td><xsl:value-of select="."/></td>
433             </tr>
434           </xsl:for-each>
435         </table>
436         <br />
437         <table>
438           <tr class="rowh">
439             <th colspan="10">Memory Contexts</th>
440           </tr>
441           <tr class="rowh">
442             <th>ID</th>
443             <th>Name</th>
444             <th>References</th>
445             <th>TotalUse</th>
446             <th>InUse</th>
447             <th>MaxUse</th>
448             <th>BlockSize</th>
449             <th>Pools</th>
450             <th>HiWater</th>
451             <th>LoWater</th>
452           </tr>
453           <xsl:for-each select="memory/contexts/context">
454             <tr class="lrow">
455               <td>
456                 <xsl:value-of select="id"/>
457               </td>
458               <td>
459                 <xsl:value-of select="name"/>
460               </td>
461               <td>
462                 <xsl:value-of select="references"/>
463               </td>
464               <td>
465                 <xsl:value-of select="total"/>
466               </td>
467               <td>
468                 <xsl:value-of select="inuse"/>
469               </td>
470               <td>
471                 <xsl:value-of select="maxinuse"/>
472               </td>
473               <td>
474                 <xsl:value-of select="blocksize"/>
475               </td>
476               <td>
477                 <xsl:value-of select="pools"/>
478               </td>
479               <td>
480                 <xsl:value-of select="hiwater"/>
481               </td>
482               <td>
483                 <xsl:value-of select="lowater"/>
484               </td>
485             </tr>
486           </xsl:for-each>
487         </table>
488
489       </body>
490     </html>
491   </xsl:template>
492 </xsl:stylesheet>