feat(admin): XHProf 性能日志五张表 Scheme 迁移与模型

This commit is contained in:
augushong
2026-08-14 22:04:52 +08:00
parent da388a8c4f
commit 7e73902325
15 changed files with 478 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
<?php
namespace app\admin\scheme;
use app\common\scheme\BaseScheme;
use app\common\scheme\attribute\Table;
use app\common\scheme\attribute\Field;
use app\common\scheme\attribute\Component;
use app\common\scheme\attribute\Index;
#[Table(name: 'ul_xhprof_run', comment: 'XHProf 性能采样记录(每次请求一条)')]
#[Index(columns: ['simple_url', 'request_time'], name: 'idx_simple_url_time', type: 'NORMAL')]
#[Index(columns: ['request_time'], name: 'idx_request_time', type: 'NORMAL')]
#[Index(columns: ['wall_time'], name: 'idx_wall_time', type: 'NORMAL')]
class XhprofRun extends BaseScheme
{
#[Field(type: 'int', length: 11, nullable: false, unsigned: true, autoIncrement: true, primary: true)]
public $id;
#[Field(type: 'varchar', length: 64, nullable: false, default: 'default', comment: '节点ID区分不同采集节点')]
#[Component(type: 'text', options: [])]
public $node_id;
#[Field(type: 'varchar', length: 500, nullable: false, comment: '请求完整 URL超长截断')]
#[Component(type: 'text', options: [])]
public $url;
#[Field(type: 'varchar', length: 255, nullable: false, default: '', comment: '规范化 URL去 query、数字段替换聚合用')]
#[Component(type: 'text', options: [])]
public $simple_url;
#[Field(type: 'varchar', length: 10, nullable: false, default: '', comment: 'HTTP 方法')]
#[Component(type: 'text', options: [])]
public $method;
#[Field(type: 'bigint', default: '0', comment: '总耗时微秒main() 的 wt')]
#[Component(type: 'text', options: [])]
public $wall_time;
#[Field(type: 'bigint', default: '0', comment: 'CPU 耗时微秒main() 的 cpu')]
#[Component(type: 'text', options: [])]
public $cpu_time;
#[Field(type: 'bigint', default: '0', comment: '内存峰值字节main() 的 pmu')]
#[Component(type: 'text', options: [])]
public $memory_peak;
#[Field(type: 'decimal', precision: 12, scale: 3, default: '0.000', comment: '请求开始时间REQUEST_TIME_FLOAT 浮点秒)')]
#[Component(type: 'text', options: [])]
public $request_time;
#[Field(type: 'int', length: 11, unsigned: true, comment: '入库时间戳')]
#[Component(type: 'date', options: [])]
public $create_time;
}