bind9.xsl.h revision 1b6e38d7b83b26f123e6f113e4b30093a2774562
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley/*
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley * Generated by convertxsl.pl 1.14 2008/07/17 23:43:26 jinmei Exp
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley * From unknown
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley */
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halleystatic char xslmsg[] =
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "<!--\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - Copyright (C) 2006-2009, 2012-2015 Internet Systems Consortium, Inc. (\"ISC\")\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " -\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - Permission to use, copy, modify, and/or distribute this software for any\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - purpose with or without fee is hereby granted, provided that the above\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - copyright notice and this permission notice appear in all copies.\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " -\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - THE SOFTWARE IS PROVIDED \"AS IS\" AND ISC DISCLAIMS ALL WARRANTIES WITH\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " - PERFORMANCE OF THIS SOFTWARE.\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "-->\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <xsl:output method=\"html\" indent=\"yes\" version=\"4.0\"/>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <xsl:template match=\"statistics[@version=&quot;3.6&quot;]\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <html>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <head>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <!-- Non Mozilla specific markup -->\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"/>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <script type=\"text/javascript\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " google.load(\"visualization\", \"1\", {packages:[\"corechart\"]});\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " google.setOnLoadCallback(loadGraphs);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " var graphs=[];\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " function drawChart(chart_title,target,style,data) {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " var data = google.visualization.arrayToDataTable(data);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " var options = {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " title: chart_title\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " };\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " var chart;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " if (style == \"barchart\") {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " chart = new google.visualization.BarChart(document.getElementById(target));\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " chart.draw(data, options);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " } else if (style == \"piechart\") {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " chart = new google.visualization.PieChart(document.getElementById(target));\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " chart.draw(data, options);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " function loadGraphs(){\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " var g;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " while(g = graphs.shift()){\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " // alert(\"going for: \" + g.target);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " if(g.data.length > 1){\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " drawChart(g.title,g.target,g.style,g.data);\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <xsl:if test=\"server/counters[@type=&quot;qtype&quot;]/counter\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " // Server Incoming Query Types\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " graphs.push({\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'title' : \"Server Incoming Query Types\",\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'target': 'chart_incoming_qtypes',\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'style': 'barchart',\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type=&quot;qtype&quot;]/counter\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " });\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " </xsl:if>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <xsl:if test=\"server/counters[@type=&quot;opcode&quot;]/counter\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " // Server Incoming Requests by opcode\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " graphs.push({\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'title' : \"Server Incoming Requests by DNS Opcode\",\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'target': 'chart_incoming_opcodes',\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'style': 'barchart',\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " 'data': [['Opcode','Counter'],<xsl:for-each select=\"server/counters[@type=&quot;opcode&quot;]/counter[. &gt; 0 or substring(@name,1,3) != 'RES']\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]});\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " </xsl:if>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " </script>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " </xsl:if>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <style type=\"text/css\">\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " body {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-family: sans-serif;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #ffffff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " color: #000000;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-size: 10pt;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " .odd{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #f0f0f0;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " .even{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #ffffff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " p.footer{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-style:italic;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " color: grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " table {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " border-collapse: collapse;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " border: 1px solid grey;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " table.counters{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 500px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.counters th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: right;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 150px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.counters td {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: right;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-family: monospace;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.counters tr:hover{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #99ddff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.info {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 500px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.info th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 150px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.info td {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.info tr:hover{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #99ddff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 500px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 150px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks td {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: right;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-family: monospace;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks td:nth-child(2) {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks td:nth-child(4) {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.tasks tr:hover{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #99ddff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 500px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 150px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat td {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat td:nth-child(4) {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: right;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-family: monospace;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat td:nth-child(7) {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: left;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.netstat tr:hover{\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " background-color: #99ddff;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.mctx {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width: 500px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.mctx th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: center;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " border: 1px solid grey;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " table.mctx td {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " text-align: right;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " font-family: monospace;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " table.mctx td:nth-child(-n+2) {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " text-align: left;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " width: 100px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " table.mctx tr:hover{\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " background-color: #99ddff;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " .totals {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " background-color: rgb(1,169,206);\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: #ffffff;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " td, th {\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " padding-right: 5px;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " padding-left: 5px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " border: 1px solid grey;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " .header h1 {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: rgb(1,169,206);\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " padding: 0px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " .content {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " background-color: #ffffff;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: #000000;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " padding: 4px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " .item {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " padding: 4px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " text-align: right;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " .value {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " padding: 4px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " font-weight: bold;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " h2 {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: grey;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " font-size: 14pt;\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " width:500px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " text-align:center;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " h3 {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: #444444;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " font-size: 12pt;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " width:500px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " text-align:center;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " h4 {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " color: rgb(1,169,206);\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " font-size: 10pt;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " width:500px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " text-align:center;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " .pie {\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " width:500px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " height: 500px;\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " }\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley "\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </style>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <title>ISC BIND 9 Statistics</title>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </head>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <body>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <div class=\"header\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <h1>ISC Bind 9 Configuration and Statistics</h1>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </div>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <p>Alternate statistics views: <a href=\"/\">All</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/status\">Status</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/server\">Server</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/zones\">Zones</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/net\">Network</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/tasks\">Tasks</a>,\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/mem\">Memory</a> and\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <a href=\"/xml/v3/traffic\">Traffic Size</a></p>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <hr/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <h2>Server Status</h2>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <table class=\"info\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <th>Boot time:</th>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:value-of select=\"server/boot-time\"/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <th>Last reconfigured:</th>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:value-of select=\"server/config-time\"/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <th>Current time:</th>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:value-of select=\"server/current-time\"/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <th>Server version:</th>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:value-of select=\"server/version\"/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </td>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </tr>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </table>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <br/>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:if test=\"server/counters[@type=&quot;opcode&quot;]/counter[. &gt; 0]\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <h2>Incoming Requests by DNS Opcode</h2>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <!-- Non Mozilla specific markup -->\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <div class=\"pie\" id=\"chart_incoming_opcodes\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " [cannot display chart]\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </div>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " </xsl:if>\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <table class=\"counters\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:for-each select=\"server/counters[@type=&quot;opcode&quot;]/counter[. &gt; 0 or substring(@name,1,3) != 'RES']\">\n"
948eabe2a254a8a278ef6325f3790e75329ee656Bob Halley " <xsl:sort select=\".\" data-type=\"number\" order=\"descending\"/>\n"
4e142a5bccd2944174ad9ae58d86cf03e170054dBob Halley " <tr>\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"
" <tr>\n"
" <th class=\"totals\">Total:</th>\n"
" <td class=\"totals\">\n"
" <xsl:value-of select=\"sum(server/counters[@type=&quot;opcode&quot;]/counter)\"/>\n"
" </td>\n"
" </tr>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"server/counters[@type=&quot;qtype&quot;]/counter\">\n"
" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
" <!-- Non Mozilla specific markup -->\n"
" <h3>Incoming Queries by Query Type</h3>\n"
" <div class=\"pie\" id=\"chart_incoming_qtypes\">\n"
" [cannot display chart]\n"
" </div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"server/counters[@type=&quot;qtype&quot;]/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"
" </tr>\n"
" </xsl:for-each>\n"
" <tr>\n"
" <th class=\"totals\">Total:</th>\n"
" <td class=\"totals\">\n"
" <xsl:value-of select=\"sum(server/counters[@type=&quot;qtype&quot;]/counter)\"/>\n"
" </td>\n"
" </tr>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"views/view[count(counters[@type=&quot;resqtype&quot;]/counter) &gt; 0]\">\n"
" <h2>Outgoing Queries per view</h2>\n"
" <xsl:for-each select=\"views/view[count(counters[@type=&quot;resqtype&quot;]/counter) &gt; 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"
" 'title': \"Outgoing Queries for view: <xsl:value-of select=\"@name\"/>\",\n"
" 'target': 'chart_outgoing_queries_view_<xsl:value-of select=\"@name\"/>',\n"
" 'style': 'barchart',\n"
" 'data': [['Type','Counter'],<xsl:for-each select=\"counters[@type=&quot;resqtype&quot;]/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"
" <div class=\"pie\" id=\"chart_outgoing_queries_view_{$target}\">[no data to display]</div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;resqtype&quot;]/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"
" </tr>\n"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:for-each>\n"
" </xsl:if>\n"
" <xsl:if test=\"server/counters[@type=&quot;nsstat&quot;]/counter[.&gt;0]\">\n"
" <h2>Server Statistics</h2>\n"
" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
" <!-- Non Mozilla specific markup -->\n"
" <script type=\"text/javascript\">\n"
" graphs.push({\n"
" 'title' : \"Server Counters\",\n"
" 'target': 'chart_server_nsstat_restype',\n"
" 'style': 'barchart',\n"
" 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type=&quot;nsstat&quot;]/counter[.&gt;0]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
" });\n"
" </script>\n"
" <div class=\"pie\" id=\"chart_server_nsstat_restype\">[no data to display]</div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"server/counters[@type=&quot;nsstat&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"server/counters[@type=&quot;zonestat&quot;]/counter[.&gt;0]\">\n"
" <xsl:if test=\"system-property('xsl:vendor')!='Transformiix'\">\n"
" <h2>Zone Maintenance Statistics</h2>\n"
" <script type=\"text/javascript\">\n"
" graphs.push({\n"
" 'title' : \"Zone Maintenance Stats\",\n"
" 'target': 'chart_server_zone_maint',\n"
" 'style': 'barchart',\n"
" 'data': [['Type','Counter'],<xsl:for-each select=\"server/counters[@type=&quot;zonestat&quot;]/counter[.&gt;0]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
" });\n"
" </script>\n"
" <!-- Non Mozilla specific markup -->\n"
" <div class=\"pie\" id=\"chart_server_zone_maint\">[no data to display]</div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"server/counters[@type=&quot;zonestat&quot;]/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"
" </xsl:for-each>\n"
" </table>\n"
" </xsl:if>\n"
" <xsl:if test=\"server/counters[@type=&quot;resstat&quot;]/counter[.&gt;0]\">\n"
" <h2>Resolver Statistics (Common)</h2>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"server/counters[@type=&quot;resstat&quot;]/counter\">\n"
" <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"
" </xsl:for-each>\n"
" </table>\n"
" </xsl:if>\n"
" <xsl:for-each select=\"views/view\">\n"
" <xsl:if test=\"counters[@type=&quot;resstats&quot;]/counter[.&gt;0]\">\n"
" <h3>Resolver Statistics for View <xsl:value-of select=\"@name\"/></h3>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;resstats&quot;]/counter[.&gt;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"
" </xsl:if>\n"
" </xsl:for-each>\n"
" <xsl:for-each select=\"views/view\">\n"
" <xsl:if test=\"counters[@type=&quot;adbstat&quot;]/counter[.&gt;0]\">\n"
" <h3>ADB Statistics for View <xsl:value-of select=\"@name\"/></h3>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;adbstat&quot;]/counter[.&gt;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"
" </xsl:if>\n"
" </xsl:for-each>\n"
" <xsl:for-each select=\"views/view\">\n"
" <xsl:if test=\"counters[@type=&quot;cachestats&quot;]/counter[.&gt;0]\">\n"
" <h3>Cache Statistics for View <xsl:value-of select=\"@name\"/></h3>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;cachestats&quot;]/counter[.&gt;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"
" </xsl:if>\n"
" </xsl:for-each>\n"
" <xsl:for-each select=\"views/view\">\n"
" <xsl:if test=\"cache/rrset\">\n"
" <h3>Cache DB RRsets for View <xsl:value-of select=\"@name\"/></h3>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"cache/rrset\">\n"
" <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"
" </tr>\n"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" </xsl:for-each>\n"
" <xsl:if test=\"traffic/udp/counters[@type=&quot;request-size&quot;]/counter[.&gt;0] or traffic/udp/counters[@type=&quot;response-size&quot;]/counter[.&gt;0] or traffic/tcp/counters[@type=&quot;request-size&quot;]/counter[.&gt;0] or traffic/tcp/counters[@type=&quot;response-size&quot;]/counter[.&gt;0]\">\n"
" <h2>Traffic Size Statistics</h2>\n"
" </xsl:if>\n"
" <xsl:if test=\"traffic/udp/counters[@type=&quot;request-size&quot;]/counter[.&gt;0]\">\n"
" <h4>UDP Requests Received</h4>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"traffic/udp/counters[@type=&quot;request-size&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"traffic/udp/counters[@type=&quot;response-size&quot;]/counter[.&gt;0]\">\n"
" <h4>UDP Responses Sent</h4>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"traffic/udp/counters[@type=&quot;response-size&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"traffic/tcp/counters[@type=&quot;request-size&quot;]/counter[.&gt;0]\">\n"
" <h4>TCP Requests Received</h4>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"traffic/tcp/counters[@type=&quot;request-size&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"traffic/tcp/counters[@type=&quot;response-size&quot;]/counter[.&gt;0]\">\n"
" <h4>TCP Responses Sent</h4>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"traffic/tcp/counters[@type=&quot;response-size&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"server/counters[@type=&quot;sockstat&quot;]/counter[.&gt;0]\">\n"
" <h2>Socket I/O Statistics</h2>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"server/counters[@type=&quot;sockstat&quot;]/counter[.&gt;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"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"views/view[zones/zone/counters[@type=&quot;qtype&quot;]/counter &gt;0]\">\n"
" <h2>Received QTYPES per view/zone</h2>\n"
" <xsl:for-each select=\"views/view[zones/zone/counters[@type=&quot;qtype&quot;]/counter &gt;0]\">\n"
" <h3>View <xsl:value-of select=\"@name\"/></h3>\n"
" <xsl:variable name=\"thisview\">\n"
" <xsl:value-of select=\"@name\"/>\n"
" </xsl:variable>\n"
" <xsl:for-each select=\"zones/zone\">\n"
" <xsl:if test=\"counters[@type=&quot;qtype&quot;]/counter[count(.) &gt; 0]\">\n"
" <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"
" '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=&quot;qtype&quot;]/counter[.&gt;0 and @name != &quot;QryAuthAns&quot;]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
" });\n"
"\n"
" </script>\n"
" <xsl:variable name=\"target\">\n"
" <xsl:value-of select=\"@name\"/>\n"
" </xsl:variable>\n"
" <div class=\"pie\" id=\"chart_qtype_{$thisview}_{$target}\">[no data to display]</div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;qtype&quot;]/counter\">\n"
" <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"
" <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"
" <xsl:if test=\"views/view[zones/zone/counters[@type=&quot;rcode&quot;]/counter &gt;0]\">\n"
" <h2>Response Codes per view/zone</h2>\n"
" <xsl:for-each select=\"views/view[zones/zone/counters[@type=&quot;rcode&quot;]/counter &gt;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=&quot;rcode&quot;]/counter[. &gt; 0]\">\n"
" <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"
" '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=&quot;rcode&quot;]/counter[.&gt;0 and @name != &quot;QryAuthAns&quot;]\">['<xsl:value-of select=\"@name\"/>',<xsl:value-of select=\".\"/>],</xsl:for-each>]\n"
" });\n"
"\n"
" </script>\n"
" <xsl:variable name=\"target\">\n"
" <xsl:value-of select=\"@name\"/>\n"
" </xsl:variable>\n"
" <div class=\"pie\" id=\"chart_rescode_{$thisview2}_{$target}\">[no data to display]</div>\n"
" </xsl:if>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"counters[@type=&quot;rcode&quot;]/counter[.&gt;0 and @name != &quot;QryAuthAns&quot;]\">\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"
" <xsl:if test=\"socketmgr/sockets/socket\">\n"
" <h2>Network Status</h2>\n"
" <table class=\"netstat\">\n"
" <tr>\n"
" <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"
" <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"
" <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"
" </xsl:if>\n"
" <xsl:if test=\"taskmgr/thread-model/type\">\n"
" <h2>Task Manager Configuration</h2>\n"
" <table class=\"counters\">\n"
" <tr>\n"
" <th class=\"even\">Thread-Model</th>\n"
" <td>\n"
" <xsl:value-of select=\"taskmgr/thread-model/type\"/>\n"
" </td>\n"
" </tr>\n"
" <tr class=\"odd\">\n"
" <th>Worker Threads</th>\n"
" <td>\n"
" <xsl:value-of select=\"taskmgr/thread-model/worker-threads\"/>\n"
" </td>\n"
" </tr>\n"
" <tr class=\"even\">\n"
" <th>Default Quantum</th>\n"
" <td>\n"
" <xsl:value-of select=\"taskmgr/thread-model/default-quantum\"/>\n"
" </td>\n"
" </tr>\n"
" <tr class=\"odd\">\n"
" <th>Tasks Running</th>\n"
" <td>\n"
" <xsl:value-of select=\"taskmgr/thread-model/tasks-running\"/>\n"
" </td>\n"
" </tr>\n"
" <tr class=\"even\">\n"
" <th>Tasks Ready</th>\n"
" <td>\n"
" <xsl:value-of select=\"taskmgr/thread-model/tasks-ready\"/>\n"
" </td>\n"
" </tr>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"taskmgr/tasks/task\">\n"
" <h2>Tasks</h2>\n"
" <table class=\"tasks\">\n"
" <tr>\n"
" <th>ID</th>\n"
" <th>Name</th>\n"
" <th>References</th>\n"
" <th>State</th>\n"
" <th>Quantum</th>\n"
" <th>Events</th>\n"
" </tr>\n"
" <xsl:for-each select=\"taskmgr/tasks/task\">\n"
" <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"
" <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"
" <td>\n"
" <xsl:value-of select=\"events\"/>\n"
" </td>\n"
" </tr>\n"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"memory/summary\">\n"
" <h2>Memory Usage Summary</h2>\n"
" <table class=\"counters\">\n"
" <xsl:for-each select=\"memory/summary/*\">\n"
" <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"
" </tr>\n"
" </xsl:for-each>\n"
" </table>\n"
" <br/>\n"
" </xsl:if>\n"
" <xsl:if test=\"memory/contexts/context\">\n"
" <h2>Memory Contexts</h2>\n"
" <table class=\"mctx\">\n"
" <tr>\n"
" <th>ID</th>\n"
" <th>Name</th>\n"
" <th>References</th>\n"
" <th>TotalUse</th>\n"
" <th>InUse</th>\n"
" <th>MaxUse</th>\n"
" <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"
" <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"
" <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"
" <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"
" </xsl:if>\n"
" <hr/>\n"
" <p class=\"footer\">Internet Systems Consortium Inc.<br/><a href=\"http://www.isc.org\">http://www.isc.org</a></p>\n"
" </body>\n"
" </html>\n"
" </xsl:template>\n"
"</xsl:stylesheet>\n";