02-无线性能分析
article
2026年7月27日阅读约 2 分钟319 字
更新于 2026年7月27日
02 无线性能分析端到端实现任务
执行要求:直接补齐“无线性能分析”页面的真实接口和前端适配,运行测试与联调后交付。先修现有链路,不复制一套新的性能领域框架。
共同门禁:不执行数据库草案,不修改 V1,不 DROP/清库或插入客户测试数据;g5b2-mysql 仅用于 SHOW、SELECT 和 EXPLAIN。接口统一使用 X-Trace-Id,缺失时后端生成并写响应头;同一动作的前端日志、后端日志、错误响应、备注和审计必须同值。
1. 目标与完成判定
- 菜单:监控分析 / 无线性能分析。
- 路由:/performance。
- 完成页面状态、摘要、小区-KPI 矩阵、单 CGI 趋势、负荷与流量、同键散点、已发布箱线摘要、分页明细和指标备注。
- 所有图表只绘制后端发布值;静态阈值和动态基线分别显示。
- 雷达归一化、跨小区比例均值和“RRC连接总数”继续降级,不得为凑页面效果实现。
2. 开工前必读与现状核对
- 设置 PowerShell UTF-8,完整阅读仓库门禁、需求 V2.0、数据库设计第 9.2/10/11/12 节和数据库草案相关表。
- 阅读 PerformancePage、PublishedChart、PageFeedback、types/index.ts、services/api.ts/http.ts/presentation.ts。
- 阅读现有 performance Controller/Service/Mapper/XML、DTO、备注写操作和相关测试。
- 用 rg 查找 performance、MetricDetail、MetricMatrix、Trend、MetricNote 的全部调用方和 SQL。
- 当前已有 state、summary、matrix、trend、details、notes 契约;逐项验证后补缺,禁止重复建同义接口。
3. 现有接口基线
| 能力 | 当前接口 |
|---|---|
| 页面状态 | GET /api/v1/performance/state |
| 摘要 | GET /api/v1/performance/summary |
| 异常矩阵 | GET /api/v1/performance/matrix |
| 单 CGI 趋势 | GET /api/v1/performance/trend |
| 分页明细 | GET /api/v1/performance/details |
| 备注 | GET/POST /api/v1/metrics/{metricResultId}/notes |
本任务必须为负荷流量和同键散点提供页面实际消费的只读契约;即使业务表为空也应正确返回空集合。箱线只在 tb_metric_stat_result 有已发布、可追溯算法结果时返回数据,否则明确降级。扩展接口仍放在性能领域,不创建通用图表接口。
4. 指标和业务边界
- 支持源指标:WIRELESS_ACCESS_RATE、WIRELESS_DROP_RATE、RRC_SETUP_SUCCESS_RATE、RRC_CONNECTION_MAX、PRB_UL_USAGE_RATE、PRB_DL_USAGE_RATE、HANDOVER_SUCCESS_RATE、PDCP_UL_BYTES、PDCP_DL_BYTES。
- 比例存储为 0~1,按后端 displayMultiplier 展示;越界原值为空并带 N/A 原因,不能截断为 100%。
- RRC_SETUP_SUCCESS_RATE 按低值劣化方向参与动态基线与预测;静态阈值未配置时保持 NOT_CONFIGURED。
- RRC_CONNECTION_MAX 必须显示“RRC连接最大数”,禁止求和或改名为总数。
- 缺少分子分母,禁止跨小区或跨时间平均接通率、掉线率和切换成功率;趋势限定单 CGI,或最多展示 5 条独立 CGI 原值线。
- PRB 任一侧 N/A 时只阻断完整负荷候选,不抹掉仍有效的 PDCP 源值;两类 PDCP 按高值劣化方向参与动态基线与预测。
- 静态、动态状态分别返回、筛选和计数;无阈值是 NOT_CONFIGURED,基线不足不是 NORMAL。
- 箱线只读 tb_metric_stat_result 的 PUBLISHED 五数和样本数;若未发布算法版本或离群点证据,返回 N/A/NA_UNSUPPORTED,不在同步请求计算分位数。
- 雷达归一化未确认,页面隐藏或明确 NA_UNSUPPORTED。
5. 后端实施顺序
- 页面状态:统一 DataState,返回发布运行号、发布时间、三个状态轴和 traceId。
- 只读查询:筛选支持区域、两级场景、厂家、基站、CGI、频段、带宽、metricCode、时间范围和 HOUR;DAY/MONTH 无发布聚合时拒绝或不开放。
- 矩阵与摘要:只读 PUBLISHED 指标及评估结果,稳定排序;矩阵单元同时含源值、单位、qualityStatus、staticStatus、dynamicStatus、evidenceStatus、业务时间和运行号。
- 趋势:必须要求 CGI+metricCode,historyHours 有上限,不插值、不跨 CGI 平均。
- 负荷/流量:按同一 CGI/时间轴返回 RRC 最大数、两类 PRB、两类 PDCP 的已发布点;PDCP 保留 byte 存储并按旧系统
/1024/1024展示 GB,单位分层且不用混合单位暗示因果。 - 散点:每点必须来自同一 (cgi,businessTime) 的下行 PRB、掉线率和 RRC连接最大数;任一必需值 N/A 时不造点并返回缺失计数或原因。
- 箱线:只读标准发布窗口的 tb_metric_stat_result;不得为任意查询窗口同步扫描明细算分位数。
- 明细:服务端分页、白名单排序和真实 total;列表与 count 使用完全相同条件及最终稳定键。
- 备注:只允许附加到 PUBLISHED 指标;按同一 traceId 幂等,追加 tb_metric_note 和 tb_audit_log,不修改指标、基线或告警。
6. 数据追溯
| 能力 | 主要来源 |
|---|---|
| 源值、单位、质量 | tb_metric_publish_result、tb_metric_definition |
| 维度快照 | 已发布结果关联的性能事实快照;不得作为无发布结果的回退 |
| 静态/动态状态 | tb_metric_evaluation_result、tb_baseline_result、tb_threshold_rule |
| 箱线/标准窗口统计 | tb_metric_stat_result |
| 同小时底噪证据 | PUBLISHED 性能与干扰指标按 CGI+business_time 配对 |
| 关联告警、备注 | tb_alarm、tb_metric_note |
| 运行和版本 | tb_publish_run、阈值/分析配置版本 |
7. 前端适配
- 筛选、分页、排序、时间窗口必须进入请求;矩阵、图表和明细共享同一已应用条件。
- 选择矩阵单元、趋势点或明细行后,稳定同步 CGI、businessTime、metricCode;跨页只传共享 URL 参数。
- 删除任何 filter/length、随机点、固定阈值、固定日期、前端分位数和按名称判状态。
- 空数据、N/A、NOT_CONFIGURED、基线不足、403 和请求错误均显示服务端 traceId。
- 图表 connectNulls=false;N/A 点留空。最多 5 个 CGI,超限要求缩小范围。
- 备注提交成功后以服务端响应刷新,不乐观改写业务结论。
8. 最小验证门禁
- 后端测试覆盖:空库、分页 total、排序白名单、单 CGI 限制、比例/N/A、静态动态分离、散点同键、备注幂等与不存在/非发布结果。
- 只读 EXPLAIN:当前发布趋势、矩阵、分页明细、统计结果读取;记录实际索引,不强写客户数据。
- 真实 HTTP:成功、非法时间、缺 CGI 趋势、无数据、备注重复 traceId;核对响应头、错误体、日志、备注和审计的 traceId。
- 运行相关 Maven 测试、Mapper XML 配对检查和注解 SQL 禁止扫描。
- 运行 cd frontend; npm run build,并用浏览器验证筛选、分页、图表空点和备注操作。
9. 交付报告
列出修改文件、已实现接口、每个页面字段的 DTO/Service/Mapper/XML/发布表追溯、实际测试结果,以及箱线离群点、雷达、跨小区比例等仍降级能力。不得声称未发布统计或未验证图表已完成。