feat(stat): 添加模型请求按天统计功能
- 新增统计控制器、服务层与数据访问层,提供按天统计接口 - 在 worker 处理任务时原子累加请求计数(仅实际调用模型时计数) - 更新数据库表结构,添加 asynch_model_stat 表及索引 - 更新文档说明统计功能的使用方式与统计口径
This commit is contained in:
31
update.sql
31
update.sql
@@ -2,6 +2,7 @@
|
||||
-- 1) asynch_models:模型配置
|
||||
-- 2) asynch_task:异步任务
|
||||
-- 3) asynch_op_log:操作日志(统计用)
|
||||
-- 4) asynch_model_stat:按天模型请求统计(限流/监控用)
|
||||
|
||||
-- =========================
|
||||
-- 1) asynch_models
|
||||
@@ -161,3 +162,33 @@ COMMENT ON COLUMN asynch_op_log.error_msg IS '错误信息(失败时)';
|
||||
COMMENT ON COLUMN asynch_op_log.cost_ms IS '耗时(毫秒)';
|
||||
COMMENT ON COLUMN asynch_op_log.request_payload IS '请求 JSON';
|
||||
COMMENT ON COLUMN asynch_op_log.response_payload IS '响应 JSON';
|
||||
|
||||
|
||||
-- =========================
|
||||
-- 4) asynch_model_stat
|
||||
-- =========================
|
||||
CREATE TABLE IF NOT EXISTS asynch_model_stat (
|
||||
day DATE NOT NULL, -- 天(YYYY-MM-DD)
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0, -- 租户ID
|
||||
creator VARCHAR(64) NOT NULL DEFAULT '', -- 创建人
|
||||
model_name VARCHAR(128) NOT NULL DEFAULT '', -- 模型名称
|
||||
request_count BIGINT NOT NULL DEFAULT 0, -- 请求次数
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY(day, tenant_id, creator, model_name)
|
||||
);
|
||||
|
||||
-- 便于时间段/租户/人/模型过滤
|
||||
CREATE INDEX IF NOT EXISTS idx_asynch_model_stat_tenant_day ON asynch_model_stat(tenant_id, day);
|
||||
CREATE INDEX IF NOT EXISTS idx_asynch_model_stat_day ON asynch_model_stat(day);
|
||||
CREATE INDEX IF NOT EXISTS idx_asynch_model_stat_model_name ON asynch_model_stat(model_name);
|
||||
CREATE INDEX IF NOT EXISTS idx_asynch_model_stat_creator ON asynch_model_stat(creator);
|
||||
|
||||
COMMENT ON TABLE asynch_model_stat IS '按天模型请求统计(用于限流/监控)';
|
||||
COMMENT ON COLUMN asynch_model_stat.day IS '天(YYYY-MM-DD)';
|
||||
COMMENT ON COLUMN asynch_model_stat.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN asynch_model_stat.creator IS '创建人';
|
||||
COMMENT ON COLUMN asynch_model_stat.model_name IS '模型名称';
|
||||
COMMENT ON COLUMN asynch_model_stat.request_count IS '请求次数';
|
||||
COMMENT ON COLUMN asynch_model_stat.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN asynch_model_stat.updated_at IS '更新时间';
|
||||
|
||||
Reference in New Issue
Block a user