ciyon_ai/web/admin/rigger/statsdb.html
2026-04-15 17:28:46 +08:00

104 lines
4.5 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<link href="/jscss/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8" src="/jscss/theme.js"></script>
</head>
<body>
<div class="container">
<form class="search" onsubmit="search(this);return false;">
<div>
<div class="sinps">
<div class="ciy-form inline">
<label data-lang>指标项</label>
<div>
<input type="text" name="name" style="width:8em;">
</div>
</div>
<div class="ciy-form inline">
<label data-lang>说明</label>
<div>
<input type="text" name="help" style="width:8em;">
</div>
</div>
</div>
<div class="sbtns">
<button data-lang class="btn" type="submit">查询</button>
</div>
</div>
</form>
<div class="table">
<div class="topbtn flex flex-center" style="gap:1em;">
<div><button data-lang class="btn" onclick="callps();">瞬时计算</button></div>
<div class="ctime txt-right" style="width:5em;">0 s</div>
<div class="cmain"></div>
</div>
<div class="loading col-24">Loading...</div>
<div class="list"></div>
</div>
</div>
<script type="text/javascript" src="/jscss/ciy.js"></script>
<script type="text/javascript" src="/jscss/ciytable.js"></script>
<script type="text/javascript" src="../common.js"></script>
<script type="text/javascript">
'use strict';
var table;
var Glob = {};
ciyfn.pageload(function () {
table = new ciyclass.table({ dom: '.table' });
ciyfn.callfunc('init', {}, function (json) {
Glob.data = json;
if (!Glob.first)
Glob.first = json.stats;
fill();
Glob.ftime = tostamp();
setInterval(function () {
$5('.ctime').html((tostamp() - Glob.ftime) + ' s');
}, 1000);
});
});
function callps(dom) {
ciyfn.callfunc('init', {}, function (json) {
var Questions = json.stats.Questions.value - Glob.first.Questions.value;
var Com_commit = json.stats.Com_commit.value - Glob.first.Com_commit.value;
var Com_rollback = json.stats.Com_rollback.value - Glob.first.Com_rollback.value;
var sec = tostamp() - Glob.ftime;
var qps = Questions / sec;
var tps = (Com_commit + Com_rollback) / sec;
$5('.cmain').html('QPS: <kbd>' + qps.toFixed(2) + '</kbd>, TPS: <kbd>' + tps.toFixed(2) + '</kbd>, Sec:' + sec + 's');
});
// $uptime = toint($status['Uptime']['value']);
// if ($uptime > 0) {
// $ret['qps'] = (float)$status['Questions']['value'] / $uptime;
// $ret['tps'] = (toint($status['Com_commit']['value']) + toint($status['Com_rollback']['value'])) / $uptime;
// }
}
function search(dom) {
Glob.name = $5('[name=name]', dom).val().toLowerCase();
Glob.help = $5('[name=help]', dom).val().toLowerCase();
fill();
}
function fill() {
var html = "<table><thead><tr><th class='lang'>指标项</th><th class='lang'>数值</th><th class='lang'>说明</th></tr></thead>";
for (var i in Glob.data.stats) {
if (Glob.name) {
if (i.toLowerCase().indexOf(Glob.name) == -1)
continue;
}
if (Glob.help) {
if (Glob.data.stats[i].help.toLowerCase().indexOf(Glob.help) == -1)
continue;
}
html += '<tr><td><div>' + i + '</div></td><td><div style="text-align:right">' + Glob.data.stats[i].value + '</div></td><td><div>' + Glob.data.stats[i].help + '</div></td></tr>';
}
table.filltable(html);
}
</script>
</body>
</html>