错误 #5279
网管2.4.2版本&基站3.2.2_0428版本,终端指标存在部分指标显示无值现象
0%
描述
网管2.4.2版本&基站3.2.2_0428版本,终端指标存在部分指标显示无值现象
备注:
目前看到有CU相关终端指标不显示,CU基站指标可显示,如下截图
redis已上报,界面没获取到数据
文件
历史记录
由 马 自伟 更新于 13 天 之前
- 文件 解决cuv2版本ue指标没上报截图.jpg 解决cuv2版本ue指标没上报截图.jpg 已添加
- 状态 从 新建 变更为 进行中
- 指派给 从 马 党旗 变更为 马 自伟
问题定位:
指标合并中,处理的是v2和v3版本的数据。处理完数据,有个过滤判断是否存在无效指标
for ueId, ueInfo := range ueData {
combineUeData, ok := data.UE[cellId][ueId]
if !ok {
combineUeData = entity.IndicatorItemData{
Expire: map[uint8]int64{},
Data: map[string]any{},
}
}
maps.Copy(combineUeData.Expire, ueInfo.Expire)
combineUeData.ReportTime = ueInfo.ReportTime
maps.Copy(combineUeData.Data, ueInfo.Data)
if !IsValidUeData(&combineUeData.Data, false) { // 假设是 Cell,如果有需要调整 `isCell` 为 true
delete(data.UE[cellId], ueId)
} else {
data.UE[cellId][ueId] = combineUeData
}
}
其中,IsValidUeData判断的来源分别为:
func IsValidUeData(data *map[string]any, isCell bool) bool {
// 如果有任何一个模块的指标是有效的,返回 true
return IsCuTputValid(data) || IsCuPeriodValid(data) || IsDUValid(data, isCell)
}
其中,判断IsCuTputValid只是判断了是否有cu_dl_gnb_snd_tput,但是在合并处理ue时,拿到的是cu_dl_ue_recv_tput等四个ue指标,这里判断指标没有处理ue的情况,导致四个ue指标被当作无效指标处理。
问题解决:
新增
// 判断是否含有CU-TPUT指标
func IsCuUeTputValid(data *map[string]any) bool {
_, ok := (*data)["cu_dl_ue_recv_tput"]
return ok
}
判断cu上报的指标v2版本,增加cu_dl_ue_recv_tput有效指标判断,同时,IsValidUeData函数加入IsCuUeTputValid判断
// 判断是否有指标
func IsValidUeData(data *map[string]any, isCell bool) bool {
// 如果有任何一个模块的指标是有效的,返回 true
return IsCuTputValid(data) || IsCuPeriodValid(data) || IsDUValid(data, isCell) || IsCuUeTputValid(data)
}
问题解决截图:见附件