2007-09-14 21:33:09 -04:00
/*
2012-03-09 18:30:35 -05:00
* Generated by convertxsl . pl 1.14 2008 / 07 / 17 23 : 43 : 26 jinmei Exp
2015-07-07 01:20:03 -04:00
* From unknown
2007-09-14 21:33:09 -04:00
*/
2008-04-03 01:55:52 -04:00
static char xslmsg [ ] =
2008-04-02 19:30:20 -04:00
" <?xml version= \" 1.0 \" encoding= \" UTF-8 \" ?> \n "
" <!-- \n "
2018-03-02 14:30:02 -05:00
" - Copyright (C) Internet Systems Consortium, Inc. ( \" ISC \" ) \n "
2008-04-02 19:30:20 -04:00
" - \n "
2016-06-27 01:29:38 -04:00
" - This Source Code Form is subject to the terms of the Mozilla Public \n "
" - License, v. 2.0. If a copy of the MPL was not distributed with this \n "
" - file, You can obtain one at http://mozilla.org/MPL/2.0/. \n "
2018-03-02 14:30:02 -05:00
" - \n "
" - See the COPYRIGHT file distributed with this work for additional \n "
" - information regarding copyright ownership. \n "
2008-04-02 19:30:20 -04:00
" --> \n "
2015-10-28 19:30:01 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" <xsl:stylesheet xmlns:xsl= \" http://www.w3.org/1999/XSL/Transform \" xmlns= \" http://www.w3.org/1999/xhtml \" version= \" 1.0 \" > \n "
" <xsl:output method= \" html \" indent= \" yes \" version= \" 4.0 \" /> \n "
2017-10-27 22:19:04 -04:00
" <xsl:template match= \" statistics[@version="3.11"] \" > \n "
2008-04-02 19:30:20 -04:00
" <html> \n "
" <head> \n "
2019-05-15 20:51:50 -04:00
" <script type= \" text/javascript \" src= \" https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js \" ></script> \n "
" <script type= \" text/javascript \" > \n "
" $(function($) { \n "
" var wid=0; \n "
" $('table.zones').each(function(i) { if( $(this).width() > wid ) wid = $(this).width(); return true; }); \n "
" $('table.zones').css('min-width', wid ); \n "
2019-07-25 21:31:47 -04:00
" $( \" h2+table,h3+table,h4+table,h2+div,h3+div,h2+script,h3+script \" ).prev().append(' <a class= \" tabletoggle \" href= \" # \" style= \" font-size:small \" >Show/Hide</a>'); \n "
" $( \" .tabletoggle \" ).click(function(){ \n "
" var n = $(this).closest( \" h2,h3,h4 \" ).next(); \n "
" if (n.is( \" script \" )) { n = n.next(); } \n "
" if (n.is( \" div \" )) { n.toggleClass( \" hidden \" ); n = n.next(); } \n "
" if (n.is( \" table \" )) { n.toggleClass( \" hidden \" ); } \n "
" return false; \n "
" }); \n "
2019-05-15 20:51:50 -04:00
" }); \n "
" </script> \n "
" \n "
2012-11-14 13:44:15 -05:00
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
" <script type= \" text/javascript \" src= \" https://www.google.com/jsapi \" /> \n "
" <script type= \" text/javascript \" > \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" google.load( \" visualization \" , \" 1 \" , {packages:[ \" corechart \" ]}); \n "
" google.setOnLoadCallback(loadGraphs); \n "
" \n "
" var graphs=[]; \n "
2014-01-09 18:14:57 -05:00
" \n "
" function drawChart(chart_title,target,style,data) { \n "
2012-11-14 13:44:15 -05:00
" var data = google.visualization.arrayToDataTable(data); \n "
" \n "
" var options = { \n "
" title: chart_title \n "
" }; \n "
2014-01-09 18:14:57 -05:00
" \n "
" var chart; \n "
" if (style == \" barchart \" ) { \n "
" chart = new google.visualization.BarChart(document.getElementById(target)); \n "
2012-11-14 13:44:15 -05:00
" chart.draw(data, options); \n "
2014-01-09 18:14:57 -05:00
" } else if (style == \" piechart \" ) { \n "
" chart = new google.visualization.PieChart(document.getElementById(target)); \n "
" chart.draw(data, options); \n "
" } \n "
2012-11-14 13:44:15 -05:00
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" function loadGraphs(){ \n "
" var g; \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" while(g = graphs.shift()){ \n "
" // alert( \" going for: \" + g.target); \n "
2013-02-28 12:58:13 -05:00
" if(g.data.length > 1){ \n "
2014-01-09 18:14:57 -05:00
" drawChart(g.title,g.target,g.style,g.data); \n "
2012-11-14 13:44:15 -05:00
" } \n "
2013-02-28 12:58:13 -05:00
" } \n "
2012-11-14 13:44:15 -05:00
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
" <xsl:if test= \" server/counters[@type="qtype"]/counter \" > \n "
" // Server Incoming Query Types \n "
2012-11-14 13:44:15 -05:00
" graphs.push({ \n "
" 'title' : \" Server Incoming Query Types \" , \n "
" 'target': 'chart_incoming_qtypes', \n "
2014-01-09 18:14:57 -05:00
" 'style': 'barchart', \n "
2012-11-14 13:44:15 -05:00
" 'data': [['Type','Counter'],<xsl:for-each select= \" server/counters[@type="qtype"]/counter \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
" }); \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2012-11-14 13:44:15 -05:00
" \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" server/counters[@type="opcode"]/counter \" > \n "
" // Server Incoming Requests by opcode \n "
2012-11-14 13:44:15 -05:00
" graphs.push({ \n "
2014-01-09 18:14:57 -05:00
" 'title' : \" Server Incoming Requests by DNS Opcode \" , \n "
" 'target': 'chart_incoming_opcodes', \n "
" 'style': 'barchart', \n "
" 'data': [['Opcode','Counter'],<xsl:for-each select= \" server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES'] \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>]}); \n "
" </xsl:if> \n "
2012-11-14 13:44:15 -05:00
" </script> \n "
" </xsl:if> \n "
2008-04-02 19:30:20 -04:00
" <style type= \" text/css \" > \n "
2012-11-14 13:44:15 -05:00
" body { \n "
2008-04-02 19:30:20 -04:00
" font-family: sans-serif; \n "
" background-color: #ffffff; \n "
" color: #000000; \n "
2012-11-14 13:44:15 -05:00
" font-size: 10pt; \n "
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
2019-07-25 21:31:47 -04:00
" .hidden{ \n "
" display: none; \n "
" } \n "
" \n "
2012-11-14 13:44:15 -05:00
" .odd{ \n "
" background-color: #f0f0f0; \n "
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" .even{ \n "
" background-color: #ffffff; \n "
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" p.footer{ \n "
" font-style:italic; \n "
" color: grey; \n "
" } \n "
" \n "
" table { \n "
2008-04-02 19:30:20 -04:00
" border-collapse: collapse; \n "
2012-11-14 13:44:15 -05:00
" border: 1px solid grey; \n "
" } \n "
" \n "
" table.counters{ \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.counters th { \n "
2014-01-09 18:14:57 -05:00
" text-align: right; \n "
2012-11-14 13:44:15 -05:00
" border: 1px solid grey; \n "
2014-01-09 18:14:57 -05:00
" width: 150px; \n "
2012-11-14 13:44:15 -05:00
" } \n "
2014-01-09 18:14:57 -05:00
" table.counters td { \n "
" text-align: right; \n "
" font-family: monospace; \n "
2012-11-14 13:44:15 -05:00
" } \n "
" table.counters tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
" table.info { \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.info th { \n "
" text-align: center; \n "
" border: 1px solid grey; \n "
" width: 150px; \n "
" } \n "
" table.info td { \n "
" text-align: center; \n "
" } \n "
" table.info tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
" \n "
" table.tasks { \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.tasks th { \n "
" text-align: center; \n "
" border: 1px solid grey; \n "
" width: 150px; \n "
" } \n "
" table.tasks td { \n "
" text-align: right; \n "
" font-family: monospace; \n "
" } \n "
" table.tasks td:nth-child(2) { \n "
" text-align: center; \n "
" } \n "
" table.tasks td:nth-child(4) { \n "
" text-align: center; \n "
" } \n "
" table.tasks tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
" \n "
" table.netstat { \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.netstat th { \n "
" text-align: center; \n "
" border: 1px solid grey; \n "
" width: 150px; \n "
" } \n "
" table.netstat td { \n "
" text-align: center; \n "
" } \n "
" table.netstat td:nth-child(4) { \n "
" text-align: right; \n "
" font-family: monospace; \n "
" } \n "
" table.netstat td:nth-child(7) { \n "
" text-align: left; \n "
" } \n "
" table.netstat tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
" \n "
" table.mctx { \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.mctx th { \n "
" text-align: center; \n "
" border: 1px solid grey; \n "
" } \n "
" table.mctx td { \n "
" text-align: right; \n "
" font-family: monospace; \n "
" } \n "
" table.mctx td:nth-child(-n+2) { \n "
" text-align: left; \n "
" width: 100px; \n "
" } \n "
" table.mctx tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
" \n "
2018-10-25 04:03:03 -04:00
" table.zones { \n "
" border: 1px solid grey; \n "
" width: 500px; \n "
" } \n "
" table.zones th { \n "
" text-align: center; \n "
" border: 1px solid grey; \n "
" } \n "
" table.zones td { \n "
" text-align: center; \n "
" font-family: monospace; \n "
" } \n "
" table.zones td:nth-child(1) { \n "
" text-align: right; \n "
" } \n "
" table.zones td:nth-child(4) { \n "
" text-align: right; \n "
" } \n "
" \n "
2012-11-14 13:44:15 -05:00
" .totals { \n "
" background-color: rgb(1,169,206); \n "
2008-04-02 19:30:20 -04:00
" color: #ffffff; \n "
2012-11-14 13:44:15 -05:00
" } \n "
2019-05-15 20:51:50 -04:00
" table.zones { \n "
" border: 1px solid grey; \n "
" } \n "
" table.zones td { \n "
" text-align: right; \n "
" font-family: monospace; \n "
" } \n "
" table.zones td:nth-child(2) { \n "
" text-align: center; \n "
" } \n "
" table.zones td:nth-child(3) { \n "
" text-align: left; \n "
" } \n "
" table.zones tr:hover{ \n "
" background-color: #99ddff; \n "
" } \n "
2008-04-02 19:30:20 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" td, th { \n "
2008-04-03 01:55:52 -04:00
" padding-right: 5px; \n "
" padding-left: 5px; \n "
2012-11-14 13:44:15 -05:00
" border: 1px solid grey; \n "
" } \n "
2008-04-03 01:55:52 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" .header h1 { \n "
" color: rgb(1,169,206); \n "
" padding: 0px; \n "
" } \n "
2008-04-02 19:30:20 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" .content { \n "
2008-04-02 19:30:20 -04:00
" background-color: #ffffff; \n "
" color: #000000; \n "
" padding: 4px; \n "
2012-11-14 13:44:15 -05:00
" } \n "
2008-04-02 19:30:20 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" .item { \n "
2008-04-02 19:30:20 -04:00
" padding: 4px; \n "
2012-11-14 13:44:15 -05:00
" text-align: right; \n "
" } \n "
2008-04-02 19:30:20 -04:00
" \n "
2012-11-14 13:44:15 -05:00
" .value { \n "
2008-04-02 19:30:20 -04:00
" padding: 4px; \n "
" font-weight: bold; \n "
2012-11-14 13:44:15 -05:00
" } \n "
" \n "
" \n "
" h2 { \n "
" color: grey; \n "
" font-size: 14pt; \n "
" width:500px; \n "
" text-align:center; \n "
" } \n "
2014-01-09 18:14:57 -05:00
" \n "
2012-11-14 13:44:15 -05:00
" h3 { \n "
" color: #444444; \n "
" font-size: 12pt; \n "
" width:500px; \n "
" text-align:center; \n "
" } \n "
" h4 { \n "
" color: rgb(1,169,206); \n "
" font-size: 10pt; \n "
" width:500px; \n "
" text-align:center; \n "
" } \n "
" \n "
" .pie { \n "
" width:500px; \n "
" height: 500px; \n "
" } \n "
2008-07-17 19:48:16 -04:00
" \n "
2008-04-02 19:30:20 -04:00
" </style> \n "
2012-11-14 13:44:15 -05:00
" <title>ISC BIND 9 Statistics</title> \n "
2008-04-02 19:30:20 -04:00
" </head> \n "
" <body> \n "
2008-07-17 19:48:16 -04:00
" <div class= \" header \" > \n "
2012-11-14 13:44:15 -05:00
" <h1>ISC Bind 9 Configuration and Statistics</h1> \n "
2008-07-17 19:48:16 -04:00
" </div> \n "
2014-03-25 00:56:40 -04:00
" <p>Alternate statistics views: <a href= \" / \" >All</a>, \n "
" <a href= \" /xml/v3/status \" >Status</a>, \n "
" <a href= \" /xml/v3/server \" >Server</a>, \n "
" <a href= \" /xml/v3/zones \" >Zones</a>, \n "
" <a href= \" /xml/v3/net \" >Network</a>, \n "
2015-07-07 01:20:03 -04:00
" <a href= \" /xml/v3/tasks \" >Tasks</a>, \n "
" <a href= \" /xml/v3/mem \" >Memory</a> and \n "
" <a href= \" /xml/v3/traffic \" >Traffic Size</a></p> \n "
2012-11-14 13:44:15 -05:00
" <hr/> \n "
2014-01-09 18:14:57 -05:00
" <h2>Server Status</h2> \n "
" <table class= \" info \" > \n "
2019-06-26 17:00:49 -04:00
" <tr class= \" odd \" > \n "
2012-11-14 13:44:15 -05:00
" <th>Boot time:</th> \n "
" <td> \n "
" <xsl:value-of select= \" server/boot-time \" /> \n "
" </td> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
2019-06-26 17:00:49 -04:00
" <tr class= \" even \" > \n "
2013-03-01 18:07:40 -05:00
" <th>Last reconfigured:</th> \n "
" <td> \n "
" <xsl:value-of select= \" server/config-time \" /> \n "
" </td> \n "
" </tr> \n "
2019-06-26 17:00:49 -04:00
" <tr class= \" odd \" > \n "
2013-03-01 18:07:40 -05:00
" <th>Current time:</th> \n "
2012-11-14 13:44:15 -05:00
" <td> \n "
" <xsl:value-of select= \" server/current-time \" /> \n "
" </td> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
2019-06-26 17:00:49 -04:00
" <tr class= \" even \" > \n "
2015-10-27 18:45:46 -04:00
" <th>Server version:</th> \n "
" <td> \n "
" <xsl:value-of select= \" server/version \" /> \n "
" </td> \n "
" </tr> \n "
2008-04-02 19:30:20 -04:00
" </table> \n "
" <br/> \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" server/counters[@type="opcode"]/counter[. > 0] \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
2014-01-09 18:14:57 -05:00
" <h2>Incoming Requests by DNS Opcode</h2> \n "
2012-11-14 13:44:15 -05:00
" <!-- Non Mozilla specific markup --> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_incoming_opcodes \" > \n "
" [cannot display chart] \n "
" </div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:for-each select= \" server/counters[@type="opcode"]/counter[. > 0 or substring(@name,1,3) != 'RES'] \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
2019-06-26 17:00:49 -04:00
" <xsl:variable name= \" css-class0 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class0} \" > \n "
2012-11-14 13:44:15 -05:00
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
2008-04-03 01:55:52 -04:00
" </tr> \n "
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" <tr> \n "
" <th class= \" totals \" >Total:</th> \n "
" <td class= \" totals \" > \n "
" <xsl:value-of select= \" sum(server/counters[@type="opcode"]/counter) \" /> \n "
" </td> \n "
" </tr> \n "
2008-04-03 01:55:52 -04:00
" </table> \n "
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" server/counters[@type="qtype"]/counter \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
2014-01-09 18:14:57 -05:00
" <h3>Incoming Queries by Query Type</h3> \n "
" <div class= \" pie \" id= \" chart_incoming_qtypes \" > \n "
" [cannot display chart] \n "
" </div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" server/counters[@type="qtype"]/counter \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
2008-04-03 01:55:52 -04:00
" </tr> \n "
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" <tr> \n "
" <th class= \" totals \" >Total:</th> \n "
" <td class= \" totals \" > \n "
" <xsl:value-of select= \" sum(server/counters[@type="qtype"]/counter) \" /> \n "
" </td> \n "
" </tr> \n "
2008-04-03 01:55:52 -04:00
" </table> \n "
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" views/view[count(counters[@type="resqtype"]/counter) > 0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Outgoing Queries per view</h2> \n "
" <xsl:for-each select= \" views/view[count(counters[@type="resqtype"]/counter) > 0] \" > \n "
" <h3>View <xsl:value-of select= \" @name \" /></h3> \n "
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
" <script type= \" text/javascript \" > \n "
" graphs.push({ \n "
2014-01-09 18:14:57 -05:00
" 'title': \" Outgoing Queries for view: <xsl:value-of select= \" @name \" /> \" , \n "
2012-11-14 13:44:15 -05:00
" 'target': 'chart_outgoing_queries_view_<xsl:value-of select= \" @name \" />', \n "
2014-01-09 18:14:57 -05:00
" 'style': 'barchart', \n "
2012-11-14 13:44:15 -05:00
" 'data': [['Type','Counter'],<xsl:for-each select= \" counters[@type="resqtype"]/counter \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
" }); \n "
" </script> \n "
" <xsl:variable name= \" target \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_outgoing_queries_view_{$target} \" >[no data to display]</div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" counters[@type="resqtype"]/counter \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class1 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class1} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
2008-04-03 01:55:52 -04:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
" </xsl:for-each> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" server/counters[@type="nsstat"]/counter[.>0] \" > \n "
2008-07-17 19:48:16 -04:00
" <h2>Server Statistics</h2> \n "
2012-11-14 13:44:15 -05:00
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
" <script type= \" text/javascript \" > \n "
" graphs.push({ \n "
2013-02-08 18:14:30 -05:00
" 'title' : \" Server Counters \" , \n "
2012-11-14 13:44:15 -05:00
" 'target': 'chart_server_nsstat_restype', \n "
2014-01-09 18:14:57 -05:00
" 'style': 'barchart', \n "
2012-11-14 13:44:15 -05:00
" 'data': [['Type','Counter'],<xsl:for-each select= \" server/counters[@type="nsstat"]/counter[.>0] \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
" }); \n "
" </script> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_server_nsstat_restype \" >[no data to display]</div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" server/counters[@type="nsstat"]/counter[.>0] \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class2 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class2} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
2008-07-17 19:48:16 -04:00
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" </table> \n "
2008-04-03 01:55:52 -04:00
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" server/counters[@type="zonestat"]/counter[.>0] \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
2014-01-09 18:14:57 -05:00
" <h2>Zone Maintenance Statistics</h2> \n "
2012-11-14 13:44:15 -05:00
" <script type= \" text/javascript \" > \n "
" graphs.push({ \n "
" 'title' : \" Zone Maintenance Stats \" , \n "
" 'target': 'chart_server_zone_maint', \n "
2014-01-09 18:14:57 -05:00
" 'style': 'barchart', \n "
" 'data': [['Type','Counter'],<xsl:for-each select= \" server/counters[@type="zonestat"]/counter[.>0] \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
2012-11-14 13:44:15 -05:00
" }); \n "
" </script> \n "
" <!-- Non Mozilla specific markup --> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_server_zone_maint \" >[no data to display]</div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" server/counters[@type="zonestat"]/counter \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class3 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class3} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
2008-07-17 19:48:16 -04:00
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" server/counters[@type="resstat"]/counter[.>0] \" > \n "
2008-07-17 19:48:16 -04:00
" <h2>Resolver Statistics (Common)</h2> \n "
2012-11-14 13:44:15 -05:00
" <table class= \" counters \" > \n "
2013-02-08 17:53:14 -05:00
" <xsl:for-each select= \" server/counters[@type="resstat"]/counter \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class4 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class4} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
2012-05-14 13:06:05 -04:00
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2012-05-14 13:06:05 -04:00
" <xsl:for-each select= \" views/view \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" counters[@type="resstats"]/counter[.>0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h3>Resolver Statistics for View <xsl:value-of select= \" @name \" /></h3> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" counters[@type="resstats"]/counter[.>0] \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class5 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class5} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
2012-05-14 13:06:05 -04:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2012-05-14 13:06:05 -04:00
" </xsl:for-each> \n "
2013-02-08 17:53:14 -05:00
" <xsl:for-each select= \" views/view \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" counters[@type="adbstat"]/counter[.>0] \" > \n "
2013-02-08 17:53:14 -05:00
" <h3>ADB Statistics for View <xsl:value-of select= \" @name \" /></h3> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" counters[@type="adbstat"]/counter[.>0] \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class5 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class5} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2013-02-08 17:53:14 -05:00
" </xsl:for-each> \n "
" <xsl:for-each select= \" views/view \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" counters[@type="cachestats"]/counter[.>0] \" > \n "
2013-02-08 17:53:14 -05:00
" <h3>Cache Statistics for View <xsl:value-of select= \" @name \" /></h3> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" counters[@type="cachestats"]/counter[.>0] \" > \n "
" <xsl:sort select= \" . \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class5 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class5} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2013-02-08 17:53:14 -05:00
" </xsl:for-each> \n "
2008-04-03 01:55:52 -04:00
" <xsl:for-each select= \" views/view \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" cache/rrset \" > \n "
" <h3>Cache DB RRsets for View <xsl:value-of select= \" @name \" /></h3> \n "
2012-11-14 13:44:15 -05:00
" <table class= \" counters \" > \n "
2008-04-03 01:55:52 -04:00
" <xsl:for-each select= \" cache/rrset \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:variable name= \" css-class6 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class6} \" > \n "
" <th> \n "
" <xsl:value-of select= \" name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" counter \" /> \n "
" </td> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2008-04-03 01:55:52 -04:00
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2008-04-03 01:55:52 -04:00
" </xsl:for-each> \n "
2019-05-15 20:51:50 -04:00
" <xsl:if test= \" traffic//udp/counters[@type="request-size"]/counter[.>0] or traffic//udp/counters[@type="response-size"]/counter[.>0] or traffic//tcp/counters[@type="request-size"]/counter[.>0] or traffic//tcp/counters[@type="response-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <h2>Traffic Size Statistics</h2> \n "
" </xsl:if> \n "
2019-05-15 20:51:50 -04:00
" <xsl:if test= \" traffic//udp/counters[@type="request-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <h4>UDP Requests Received</h4> \n "
" <table class= \" counters \" > \n "
2019-05-15 20:51:50 -04:00
" <xsl:for-each select= \" traffic//udp/counters[@type="request-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <xsl:variable name= \" css-class7 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class7} \" > \n "
2019-05-15 20:51:50 -04:00
" <th><xsl:value-of select= \" local-name(../../..) \" /></th> \n "
2015-07-07 01:20:03 -04:00
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
" </xsl:if> \n "
2019-05-15 20:51:50 -04:00
" <xsl:if test= \" traffic//udp/counters[@type="response-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <h4>UDP Responses Sent</h4> \n "
" <table class= \" counters \" > \n "
2019-05-15 20:51:50 -04:00
" <xsl:for-each select= \" traffic//udp/counters[@type="response-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <xsl:variable name= \" css-class7 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class7} \" > \n "
2019-05-15 20:51:50 -04:00
" <th><xsl:value-of select= \" local-name(../../..) \" /></th> \n "
2015-07-07 01:20:03 -04:00
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
" </xsl:if> \n "
2019-05-15 20:51:50 -04:00
" <xsl:if test= \" traffic//tcp/counters[@type="request-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <h4>TCP Requests Received</h4> \n "
" <table class= \" counters \" > \n "
2019-05-15 20:51:50 -04:00
" <xsl:for-each select= \" traffic//tcp/counters[@type="request-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <xsl:variable name= \" css-class7 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class7} \" > \n "
2019-05-15 20:51:50 -04:00
" <th><xsl:value-of select= \" local-name(../../..) \" /></th> \n "
2015-07-07 01:20:03 -04:00
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
" </xsl:if> \n "
2019-05-15 20:51:50 -04:00
" <xsl:if test= \" traffic//tcp/counters[@type="response-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <h4>TCP Responses Sent</h4> \n "
" <table class= \" counters \" > \n "
2019-05-15 20:51:50 -04:00
" <xsl:for-each select= \" traffic//tcp/counters[@type="response-size"]/counter[.>0] \" > \n "
2015-07-07 01:20:03 -04:00
" <xsl:variable name= \" css-class7 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class7} \" > \n "
2019-05-15 20:51:50 -04:00
" <th><xsl:value-of select= \" local-name(../../..) \" /></th> \n "
2015-07-07 01:20:03 -04:00
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
" </xsl:if> \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" server/counters[@type="sockstat"]/counter[.>0] \" > \n "
2009-01-27 17:30:00 -05:00
" <h2>Socket I/O Statistics</h2> \n "
2012-11-14 13:44:15 -05:00
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" server/counters[@type="sockstat"]/counter[.>0] \" > \n "
" <xsl:variable name= \" css-class7 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class7} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
2009-01-27 17:30:00 -05:00
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" </table> \n "
2009-01-27 17:30:00 -05:00
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2019-06-26 17:00:49 -04:00
" <xsl:if test= \" views/view/zones/zone \" > \n "
2018-10-25 04:03:03 -04:00
" <xsl:for-each select= \" views/view \" > \n "
" <h3>Zones for View <xsl:value-of select= \" @name \" /></h3> \n "
" <table class= \" zones \" > \n "
2019-06-26 17:00:49 -04:00
" <thead><tr><th>Name</th><th>Class</th><th>Type</th><th>Serial</th></tr></thead> \n "
" <tbody> \n "
2018-10-25 04:03:03 -04:00
" <xsl:for-each select= \" zones/zone \" > \n "
2019-06-26 17:00:49 -04:00
" <xsl:variable name= \" css-class15 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class15} \" > \n "
" <td><xsl:value-of select= \" @name \" /></td> \n "
" <td><xsl:value-of select= \" @rdataclass \" /></td> \n "
" <td><xsl:value-of select= \" type \" /></td> \n "
" <td><xsl:value-of select= \" serial \" /></td></tr> \n "
2018-10-25 04:03:03 -04:00
" </xsl:for-each> \n "
2019-06-26 17:00:49 -04:00
" </tbody> \n "
2018-10-25 04:03:03 -04:00
" </table> \n "
" </xsl:for-each> \n "
2019-06-26 17:00:49 -04:00
" </xsl:if> \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" views/view[zones/zone/counters[@type="qtype"]/counter >0] \" > \n "
" <h2>Received QTYPES per view/zone</h2> \n "
" <xsl:for-each select= \" views/view[zones/zone/counters[@type="qtype"]/counter >0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h3>View <xsl:value-of select= \" @name \" /></h3> \n "
" <xsl:variable name= \" thisview \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
2008-04-02 19:30:20 -04:00
" <xsl:for-each select= \" zones/zone \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" counters[@type="qtype"]/counter[count(.) > 0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h4>Zone <xsl:value-of select= \" @name \" /></h4> \n "
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
" <script type= \" text/javascript \" > \n "
" graphs.push({ \n "
2014-01-09 18:14:57 -05:00
" 'title': \" Query types for zone <xsl:value-of select= \" @name \" /> \" , \n "
" 'target': 'chart_qtype_<xsl:value-of select= \" ../../@name \" />_<xsl:value-of select= \" @name \" />', \n "
" 'style': 'barchart', \n "
" 'data': [['Type','Counter'],<xsl:for-each select= \" counters[@type="qtype"]/counter[.>0 and @name != "QryAuthAns"] \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
2012-11-14 13:44:15 -05:00
" }); \n "
" \n "
" </script> \n "
" <xsl:variable name= \" target \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_qtype_{$thisview}_{$target} \" >[no data to display]</div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:for-each select= \" counters[@type="qtype"]/counter \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" . \" /> \n "
" <xsl:variable name= \" css-class10 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class10} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
2012-11-14 13:44:15 -05:00
" <xsl:value-of select= \" . \" /> \n "
2008-04-02 19:30:20 -04:00
" </td> \n "
2012-11-14 13:44:15 -05:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" </xsl:if> \n "
" </xsl:for-each> \n "
" </xsl:for-each> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" views/view[zones/zone/counters[@type="rcode"]/counter >0] \" > \n "
" <h2>Response Codes per view/zone</h2> \n "
" <xsl:for-each select= \" views/view[zones/zone/counters[@type="rcode"]/counter >0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h3>View <xsl:value-of select= \" @name \" /></h3> \n "
" <xsl:variable name= \" thisview2 \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
" <xsl:for-each select= \" zones/zone \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" counters[@type="rcode"]/counter[. > 0] \" > \n "
2012-11-14 13:44:15 -05:00
" <h4>Zone <xsl:value-of select= \" @name \" /></h4> \n "
" <xsl:if test= \" system-property('xsl:vendor')!='Transformiix' \" > \n "
" <!-- Non Mozilla specific markup --> \n "
" <script type= \" text/javascript \" > \n "
" graphs.push({ \n "
2014-01-09 18:14:57 -05:00
" 'title': \" Response codes for zone <xsl:value-of select= \" @name \" /> \" , \n "
" 'target': 'chart_rescode_<xsl:value-of select= \" ../../@name \" />_<xsl:value-of select= \" @name \" />', \n "
" 'style': 'barchart', \n "
" 'data': [['Type','Counter'],<xsl:for-each select= \" counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"] \" >['<xsl:value-of select= \" @name \" />',<xsl:value-of select= \" . \" />],</xsl:for-each>] \n "
2012-11-14 13:44:15 -05:00
" }); \n "
" \n "
" </script> \n "
" <xsl:variable name= \" target \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
2014-01-09 18:14:57 -05:00
" <div class= \" pie \" id= \" chart_rescode_{$thisview2}_{$target} \" >[no data to display]</div> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
" <table class= \" counters \" > \n "
2014-01-09 18:14:57 -05:00
" <xsl:for-each select= \" counters[@type="rcode"]/counter[.>0 and @name != "QryAuthAns"] \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" . \" /> \n "
" <xsl:variable name= \" css-class11 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class11} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
2012-11-14 13:44:15 -05:00
" <xsl:value-of select= \" . \" /> \n "
2008-04-02 19:30:20 -04:00
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2012-11-14 13:44:15 -05:00
" </xsl:if> \n "
2008-04-02 19:30:20 -04:00
" </xsl:for-each> \n "
2012-11-14 13:44:15 -05:00
" </xsl:for-each> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2017-10-06 05:54:16 -04:00
" <xsl:if test= \" views/view[zones/zone/counters[@type="gluecache"]/counter >0] \" > \n "
" <h2>Glue cache statistics</h2> \n "
" <xsl:for-each select= \" views/view[zones/zone/counters[@type="gluecache"]/counter >0] \" > \n "
" <h3>View <xsl:value-of select= \" @name \" /></h3> \n "
" <xsl:variable name= \" thisview2 \" > \n "
" <xsl:value-of select= \" @name \" /> \n "
" </xsl:variable> \n "
" <xsl:for-each select= \" zones/zone \" > \n "
" <xsl:if test= \" counters[@type="gluecache"]/counter[. > 0] \" > \n "
" <h4>Zone <xsl:value-of select= \" @name \" /></h4> \n "
" <table class= \" counters \" > \n "
" <xsl:for-each select= \" counters[@type="gluecache"]/counter[. > 0] \" > \n "
" <xsl:sort select= \" . \" /> \n "
" <xsl:variable name= \" css-class11 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class11} \" > \n "
" <th> \n "
" <xsl:value-of select= \" @name \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" </xsl:if> \n "
" </xsl:for-each> \n "
" </xsl:for-each> \n "
" </xsl:if> \n "
2014-01-09 18:14:57 -05:00
" <xsl:if test= \" socketmgr/sockets/socket \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Network Status</h2> \n "
2014-01-09 18:14:57 -05:00
" <table class= \" netstat \" > \n "
2012-11-14 13:44:15 -05:00
" <tr> \n "
2008-04-02 19:30:20 -04:00
" <th>ID</th> \n "
" <th>Name</th> \n "
" <th>Type</th> \n "
" <th>References</th> \n "
" <th>LocalAddress</th> \n "
" <th>PeerAddress</th> \n "
" <th>State</th> \n "
" </tr> \n "
" <xsl:for-each select= \" socketmgr/sockets/socket \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" id \" /> \n "
" <xsl:variable name= \" css-class12 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class12} \" > \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" id \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" name \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" type \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" references \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" local-address \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" peer-address \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:for-each select= \" states \" > \n "
" <xsl:value-of select= \" . \" /> \n "
" </xsl:for-each> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" taskmgr/thread-model/type \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Task Manager Configuration</h2> \n "
" <table class= \" counters \" > \n "
" <tr> \n "
" <th class= \" even \" >Thread-Model</th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" taskmgr/thread-model/type \" /> \n "
" </td> \n "
" </tr> \n "
2012-11-14 13:44:15 -05:00
" <tr class= \" odd \" > \n "
" <th>Worker Threads</th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" taskmgr/thread-model/worker-threads \" /> \n "
" </td> \n "
" </tr> \n "
2012-11-14 13:44:15 -05:00
" <tr class= \" even \" > \n "
" <th>Default Quantum</th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" taskmgr/thread-model/default-quantum \" /> \n "
" </td> \n "
" </tr> \n "
2012-11-14 13:44:15 -05:00
" <tr class= \" odd \" > \n "
" <th>Tasks Running</th> \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" taskmgr/thread-model/tasks-running \" /> \n "
" </td> \n "
" </tr> \n "
2014-01-09 18:14:57 -05:00
" <tr class= \" even \" > \n "
2013-02-08 17:53:14 -05:00
" <th>Tasks Ready</th> \n "
" <td> \n "
" <xsl:value-of select= \" taskmgr/thread-model/tasks-ready \" /> \n "
" </td> \n "
" </tr> \n "
2008-04-02 19:30:20 -04:00
" </table> \n "
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" taskmgr/tasks/task \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Tasks</h2> \n "
2014-01-09 18:14:57 -05:00
" <table class= \" tasks \" > \n "
2012-11-14 13:44:15 -05:00
" <tr> \n "
2008-04-02 19:30:20 -04:00
" <th>ID</th> \n "
" <th>Name</th> \n "
" <th>References</th> \n "
" <th>State</th> \n "
" <th>Quantum</th> \n "
2013-02-08 17:53:14 -05:00
" <th>Events</th> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
" <xsl:for-each select= \" taskmgr/tasks/task \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" name \" /> \n "
" <xsl:variable name= \" css-class14 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class14} \" > \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" id \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" name \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" references \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" state \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" quantum \" /> \n "
" </td> \n "
2013-02-08 17:53:14 -05:00
" <td> \n "
" <xsl:value-of select= \" events \" /> \n "
" </td> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2012-11-14 13:44:15 -05:00
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" memory/summary \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Memory Usage Summary</h2> \n "
" <table class= \" counters \" > \n "
2008-04-02 19:30:20 -04:00
" <xsl:for-each select= \" memory/summary/* \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:variable name= \" css-class13 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class13} \" > \n "
" <th> \n "
" <xsl:value-of select= \" name() \" /> \n "
" </th> \n "
" <td> \n "
" <xsl:value-of select= \" . \" /> \n "
" </td> \n "
2008-04-02 19:30:20 -04:00
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2012-11-14 13:44:15 -05:00
" <br/> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
" <xsl:if test= \" memory/contexts/context \" > \n "
2012-11-14 13:44:15 -05:00
" <h2>Memory Contexts</h2> \n "
2014-01-09 18:14:57 -05:00
" <table class= \" mctx \" > \n "
2012-11-14 13:44:15 -05:00
" <tr> \n "
2008-04-02 19:30:20 -04:00
" <th>ID</th> \n "
" <th>Name</th> \n "
" <th>References</th> \n "
" <th>TotalUse</th> \n "
" <th>InUse</th> \n "
" <th>MaxUse</th> \n "
2017-02-01 23:36:38 -05:00
" <th>Malloced</th> \n "
" <th>MaxMalloced</th> \n "
2008-04-02 19:30:20 -04:00
" <th>BlockSize</th> \n "
" <th>Pools</th> \n "
" <th>HiWater</th> \n "
" <th>LoWater</th> \n "
" </tr> \n "
" <xsl:for-each select= \" memory/contexts/context \" > \n "
2012-11-14 13:44:15 -05:00
" <xsl:sort select= \" total \" data-type= \" number \" order= \" descending \" /> \n "
" <xsl:variable name= \" css-class14 \" > \n "
" <xsl:choose> \n "
" <xsl:when test= \" position() mod 2 = 0 \" >even</xsl:when> \n "
" <xsl:otherwise>odd</xsl:otherwise> \n "
" </xsl:choose> \n "
" </xsl:variable> \n "
" <tr class= \" {$css-class14} \" > \n "
2008-04-02 19:30:20 -04:00
" <td> \n "
" <xsl:value-of select= \" id \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" name \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" references \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" total \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" inuse \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" maxinuse \" /> \n "
" </td> \n "
" <td> \n "
2017-02-01 23:36:38 -05:00
" <xsl:value-of select= \" malloced \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" maxmalloced \" /> \n "
" </td> \n "
" <td> \n "
2008-04-02 19:30:20 -04:00
" <xsl:value-of select= \" blocksize \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" pools \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" hiwater \" /> \n "
" </td> \n "
" <td> \n "
" <xsl:value-of select= \" lowater \" /> \n "
" </td> \n "
" </tr> \n "
" </xsl:for-each> \n "
" </table> \n "
2014-01-09 18:14:57 -05:00
" </xsl:if> \n "
2012-11-14 13:44:15 -05:00
" <hr/> \n "
" <p class= \" footer \" >Internet Systems Consortium Inc.<br/><a href= \" http://www.isc.org \" >http://www.isc.org</a></p> \n "
2008-04-02 19:30:20 -04:00
" </body> \n "
" </html> \n "
" </xsl:template> \n "
" </xsl:stylesheet> \n " ;