From 48f0493d4e5a243bd5a6876fa56a91a60f924d8e Mon Sep 17 00:00:00 2001 From: simonzhangsz Date: Thu, 14 Nov 2024 17:17:48 +0800 Subject: [PATCH] add:spgw kpi --- .../c_program/cstaCollector/csta.c | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/performanceMgr/c_program/cstaCollector/csta.c b/src/performanceMgr/c_program/cstaCollector/csta.c index f70c3d9..05bd0b7 100644 --- a/src/performanceMgr/c_program/cstaCollector/csta.c +++ b/src/performanceMgr/c_program/cstaCollector/csta.c @@ -1260,6 +1260,8 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu) } } else + { + if (pcsta->sysTypeNo != 362) { for(i=0;idetail_field_count;i++) { @@ -1267,6 +1269,37 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu) sprintf(tmpstr3,"%u,",htonl(*pval4)); strcat(sqlstr,tmpstr3); } + }else{ //SPGW + for(i=0;idetail_field_count-2;i++) + { + pval4=(DWORD*)(pvar->msg + 4 + i * 4); + sprintf(tmpstr3,"%u,",htonl(*pval4)); + strcat(sqlstr,tmpstr3); + + printf("Field %d: %u\n", i + 1, htonl(*pval4)); + + } //前十六个 + + DWORD *uplink_tmp1, *uplink_tmp2; + DWORD *downlink_tmp1, *downlink_tmp2; + uint64_t uplink_total_volume; + uint64_t downlink_total_volume; + // 处理 uplink_total_volume + uplink_tmp1 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count - 2) * 4); //68 + uplink_tmp2 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count -1) * 4); // 72 + uplink_total_volume = ((uint64_t)ntohl(*uplink_tmp1) << 32) +ntohl(*uplink_tmp2); + + sprintf(tmpstr3, "%llu,", uplink_total_volume); + strcat(sqlstr, tmpstr3); + + // 处理 downlink_total_volume + downlink_tmp1 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count ) * 4); //76开始 + downlink_tmp2 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count +1) * 4); //80开始 + downlink_total_volume = ((uint64_t)ntohl(*downlink_tmp1) << 32) +ntohl(*downlink_tmp2); + + sprintf(tmpstr3, "%llu,", downlink_total_volume); + strcat(sqlstr, tmpstr3); + } } sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp); strcat(sqlstr,tmpstr3);