feat(admin): XHProf 函数监控规则与命中记录

This commit is contained in:
augushong
2026-08-15 07:02:37 +08:00
parent e57b186126
commit c980ebdff0
23 changed files with 901 additions and 1 deletions

View File

@@ -0,0 +1,97 @@
<div class="layuimini-container detail-container">
<div class="layuimini-main">
<div class="layui-card detail-card">
<div class="layui-card-header detail-header">
<div class="layui-row">
<div class="layui-col-md9">
<h2 class="detail-title">#{$row.id} {$title}</h2>
<div class="detail-id">ID: {$row.id}</div>
</div>
<div class="layui-col-md3 text-right detail-actions">
<button class="layui-btn layui-btn-primary" layuimini-content-href="{$Request.param.backTagId}" data-back="1">返回</button>
</div>
</div>
</div>
<div class="layui-card-body detail-content">
<div class="layui-row layui-col-space12">
<!-- 左侧主体内容 -->
<div class="layui-col-md8 detail-main">
<div class="detail-field-group">
<div class="detail-field-item">
<div class="detail-field-label">监控规则</div>
<div class="detail-field-value">
{notempty name="row.watch.name"}
{$row.watch.name}#{$row.watch_id}
{else/}
<span class="layui-text-em">#{$row.watch_id}</span>
{/notempty}
</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">命中次数(边数和)</div>
<div class="detail-field-value">
{$row.ct}
</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">耗时合计</div>
<div class="detail-field-value">
{$row.wt_sum} μs = {:number_format($row['wt_sum'] / 1000, 3)} ms
{if condition="$row['watch']['threshold_ms'] > 0 && ($row['wt_sum'] / 1000) > $row['watch']['threshold_ms']"}
<span class="layui-badge layui-bg-red">超阈值 {$row.watch.threshold_ms}ms</span>
{/if}
</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">单次最大耗时</div>
<div class="detail-field-value">
{$row.wt_max} μs = {:number_format($row['wt_max'] / 1000, 3)} ms
</div>
</div>
</div>
</div>
<!-- 右侧基础信息 -->
<div class="layui-col-md4 detail-side">
<h3 class="detail-side-title">关联采样</h3>
<div class="detail-field-group">
<div class="detail-field-item">
<div class="detail-field-label">采样记录ID</div>
<div class="detail-field-value">#{$row.run_id}</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">请求 URL</div>
<div class="detail-field-value">
{notempty name="row.run.url"}
{$row.run.url}
{else/}
<span class="layui-text-em">暂无数据</span>
{/notempty}
</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">请求时间</div>
<div class="detail-field-value">
{notempty name="row.run.request_time"}
{:date('Y-m-d H:i:s', intval($row['run']['request_time']))}
{else/}
<span class="layui-text-em">暂无数据</span>
{/notempty}
</div>
</div>
<div class="detail-field-item">
<div class="detail-field-label">入库时间</div>
<div class="detail-field-value">
{notempty name="row.create_time"}
{$row.create_time|date="Y-m-d H:i:s"}
{else/}
<span class="layui-text-em">暂无数据</span>
{/notempty}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>