github.com/piotrnar/gocoin@v0.0.0-20240512203912-faa0448c5e96/client/www/templates/counts.html (about) 1 <style> 2 td.gennam {} 3 td.genval {text-align:right} 4 td.txsnam {} 5 td.txsval {text-align:right} 6 td.netnam {} 7 td.netcnt {text-align:right} 8 td.netbts {text-align:right} 9 div.tablab { 10 font-weight:bold; 11 margin-bottom:10px; 12 } 13 </style> 14 <div id="nocounters_message" style="display:none"> 15 <br> 16 Counters disabled in the config file (<code>Stats.NoCounters</code>)</div> 17 <table width="100%" id="counters_table" style="display:none"> 18 <tr> 19 <td valign="top" align="center"> 20 <div class="tablab">Generic counters A</div> 21 <table class="mono bord" width="100%" id="tab_gen_a"> 22 <tr> 23 <th>Counter 24 <th>Value 25 </tr> 26 <!--GEN_ROW--> 27 </table> 28 </td> 29 <td valign="top" align="center"> 30 <div class="tablab">Generic counters B</div> 31 <table class="mono bord" width="100%" id="tab_gen_b"> 32 <tr> 33 <th>Counter 34 <th>Value 35 </tr> 36 <!--GEN_ROW--> 37 </table> 38 </td> 39 <td valign="top" align="center"> 40 <div class="tablab">Transaction counters</div> 41 <table class="mono bord" width="100%" id="tab_txs"> 42 <tr> 43 <th>Counter 44 <th>Value 45 </tr> 46 <!--TXS_ROW--> 47 </table> 48 </td> 49 <td valign="top" align="center"> 50 <div class="tablab">Network counters</div> 51 <table class="mono bord" width="100%" id="tab_net"> 52 <tr> 53 <th rowspan="2">Network Message 54 <th colspan="2">Received 55 <th colspan="2">Sent 56 </tr> 57 <tr> 58 <th>Times 59 <th>Bytes 60 <th>Times 61 <th>Bytes 62 </tr> 63 <!--NET_ROW--> 64 </table> 65 </td> 66 </tr> 67 </table> 68 <script> 69 function ref_counters() { 70 var aj = ajax() 71 aj.onerror=function() { 72 setTimeout(ref_counters, 10000) 73 } 74 aj.onload=function() { 75 try { 76 var i, cts = JSON.parse(aj.responseText) 77 //console.log(cts) 78 79 if (cts.gen==null && cts.txs==null && cts.net==null) { 80 nocounters_message.style.display='block' 81 counters_table.style.display='none' 82 return 83 } 84 85 var gen_a = new Array() 86 var gen_b = new Array() 87 88 if (cts.gen!=null) for (i=0; i<cts.gen.length; i++) { 89 if (cts.gen[i].var[0]>='M' || cts.gen[i].var.substr(0,3)=='Ban') { 90 gen_b.push(cts.gen[i]) 91 } else { 92 gen_a.push(cts.gen[i]) 93 } 94 any_cnts = true 95 } 96 97 for (i=0; i<gen_a.length; i++) { 98 var row 99 if (i < tab_gen_a.rows.length-1) { 100 row = tab_gen_a.rows[i+1] 101 } else { 102 row = tab_gen_a.insertRow(-1) 103 row.insertCell(-1) 104 row.insertCell(-1) 105 row.cells[0].className = 'gennam' 106 row.cells[1].className = 'genval' 107 } 108 row.cells[0].innerText = gen_a[i].var 109 row.cells[1].innerText = gen_a[i].cnt 110 } 111 while (tab_gen_a.rows.length > gen_a.length + 1) { 112 tab_gen_a.deleteRow(tab_gen_a.rows.length-1) 113 } 114 115 for (i=0; i<gen_b.length; i++) { 116 var row 117 if (i < tab_gen_b.rows.length-1) { 118 row = tab_gen_b.rows[i+1] 119 } else { 120 row = tab_gen_b.insertRow(-1) 121 row.insertCell(-1) 122 row.insertCell(-1) 123 row.cells[0].className = 'gennam' 124 row.cells[1].className = 'genval' 125 } 126 row.cells[0].innerText = gen_b[i].var 127 row.cells[1].innerText = gen_b[i].cnt 128 } 129 while (tab_gen_b.rows.length > gen_b.length + 1) { 130 tab_gen_b.deleteRow(tab_gen_b.rows.length-1) 131 } 132 133 while (tab_txs.rows.length>1) tab_txs.deleteRow(1) 134 if (cts.txs!=null) for (i=0; i<cts.txs.length; i++) { 135 var row 136 if (i < tab_txs.rows.length-1) { 137 row = tab_txs.rows[i+1] 138 } else { 139 row = tab_txs.insertRow(-1) 140 row.insertCell(-1) 141 row.insertCell(-1) 142 row.cells[0].className = 'txsnam' 143 row.cells[1].className = 'txsval' 144 } 145 row.cells[0].innerText = cts.txs[i].var 146 row.cells[1].innerText = cts.txs[i].cnt 147 } 148 149 while (tab_net.rows.length>2) tab_net.deleteRow(2) 150 if (cts.net!=null) for (i=0; i<cts.net.length; i++) { 151 var row = tab_net.insertRow(-1) 152 153 var col = row.insertCell(-1) 154 col.className = 'netnam' 155 col.innerText = cts.net[i].var 156 157 col = row.insertCell(-1) 158 col.className = 'netcnt' 159 col.innerText = cts.net[i].rcvd 160 161 col = row.insertCell(-1) 162 col.className = 'netcnt' 163 col.innerText = cts.net[i].rbts 164 165 col = row.insertCell(-1) 166 col.className = 'netbts' 167 col.innerText = cts.net[i].sent 168 169 col = row.insertCell(-1) 170 col.className = 'netcnt' 171 col.innerText = cts.net[i].sbts 172 } 173 nocounters_message.style.display='none' 174 counters_table.style.display='table' 175 } catch(e) { 176 console.log("error", e) 177 } 178 setTimeout(ref_counters, 1000) 179 } 180 aj.open("GET","counts.json",true) 181 aj.send(null) 182 } 183 ref_counters() 184 </script>