新增SPGW统计
This commit is contained in:
@@ -13,6 +13,7 @@ define(iGRS_SYSTYPENO,387);
|
||||
define(TMG_SYSTYPENO,391);
|
||||
define(AMRMG_SYSTYPENO,392);
|
||||
define(RCS_SYSTYPENO,364);
|
||||
define(SPGW_SYSTYPENO,362);
|
||||
global $OMC_server;
|
||||
$cstaDbConn=mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], $csta_db);
|
||||
|
||||
@@ -135,7 +136,7 @@ function GetCstaDataByDay($cstaConf,$startTime,$endTime,$dataType,$keyOneConditi
|
||||
$sql="select {$fieldList} from CSTA_DB.{$dataTable} where csta_datetime >= '{$startTime}' and csta_datetime <= '{$endTime}' {$keyCondition} ";
|
||||
if(strcmp($condition,""))
|
||||
$sql.=" and $condition ";
|
||||
if(0)
|
||||
if($DEBUG)
|
||||
echo "$sql<br>";
|
||||
$res=mysqli_query($cstaDbConn,$sql);
|
||||
$num=mysqli_num_rows($res);
|
||||
@@ -164,7 +165,7 @@ function GetCstaDataByDay($cstaConf,$startTime,$endTime,$dataType,$keyOneConditi
|
||||
}
|
||||
// debug_log("/tmp/debugperformance","cstaData=$cstaData");
|
||||
}
|
||||
|
||||
|
||||
return $cstaData;
|
||||
}
|
||||
|
||||
|
||||
@@ -248,6 +248,10 @@ case RCS_SYSTYPENO:
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case SPGW_SYSTYPENO:
|
||||
include("./spgw_day.php");
|
||||
break;
|
||||
default:
|
||||
exit("can not find system({$pageConf[SysTypeNo]})");
|
||||
break;
|
||||
|
||||
392
wxc2_omc/performance/generalCsta/spgw_day.php
Normal file
392
wxc2_omc/performance/generalCsta/spgw_day.php
Normal file
@@ -0,0 +1,392 @@
|
||||
<?php
|
||||
$cstaConf=GetCstaConf($sysTypeNo);
|
||||
if(0)
|
||||
{
|
||||
echo "sel_date_from=$sel_date_from,sel_date_to=$sel_date_to<br>";
|
||||
echo "<pre>";
|
||||
print_r($cstaConf);
|
||||
echo "</pre>";
|
||||
}
|
||||
//SPGW ok
|
||||
$slot=$sel_date_from-$sel_date_to+1;
|
||||
$startTime=date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
|
||||
$endTime=date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-$sel_date_to,date("Y")));
|
||||
//echo "startTime=$startTime,endTime=$endTime<br>";
|
||||
|
||||
|
||||
$cstaData=GetCstaDataByDay($cstaConf,$startTime,$endTime,"detail");
|
||||
if(0)
|
||||
{
|
||||
echo "<pre>";
|
||||
print_r($cstaData);
|
||||
echo "</pre>";
|
||||
}
|
||||
|
||||
//返回每条数据
|
||||
|
||||
function printVolumeWithUnits($bytes) {
|
||||
$units = ["B", "KB", "MB", "GB", "TB"];
|
||||
$unit_index = 0;
|
||||
$volume = $bytes;
|
||||
|
||||
// 计算单位
|
||||
while ($volume >= 1024 && $unit_index < count($units) - 1) {
|
||||
$volume /= 1024;
|
||||
$unit_index++;
|
||||
}
|
||||
return round($volume, 2) . " " . $units[$unit_index]; // 返回计算后的值和单位 以及保留两位
|
||||
}
|
||||
|
||||
|
||||
$echartDown=printVolumeWithUnits($cstaData[0][downlink_total_volume]+0);
|
||||
$echartUp=printVolumeWithUnits($cstaData[0][uplink_total_volume]+0);
|
||||
|
||||
|
||||
global $cstaDbConn;
|
||||
$dataTable=$cstaConf[DataObject][0][DetailDataTable];
|
||||
$fieldList=$cstaConf[DataObject][0][DetailFieldList];
|
||||
if(strlen($fieldList)){
|
||||
$fieldList="$fieldList,csta_datetime";
|
||||
}
|
||||
$sql="select {$fieldList} from CSTA_DB.{$dataTable} where csta_datetime >= '{$startTime}' and csta_datetime <= '{$endTime}' ";
|
||||
$res=mysqli_query($cstaDbConn,$sql);
|
||||
//echo mysqli_error($cstaDbConn);
|
||||
$num=mysqli_num_rows($res);
|
||||
//set downArr upArr
|
||||
|
||||
$downDataArr=[];
|
||||
$downDateArr=[];
|
||||
$upDataArr=[];
|
||||
$upDateArr=[];
|
||||
for($i=0;$i<$num;$i++)
|
||||
{
|
||||
$row=@mysqli_fetch_array($res);
|
||||
// echo "<pre>";
|
||||
// print_r($row);
|
||||
// echo "</pre>";
|
||||
$downDataArr[]=$row[downlink_total_volume];
|
||||
$downDateArr[]=$row[csta_datetime];
|
||||
$upDataArr[]=$row[uplink_total_volume];
|
||||
$upDateArr[]=$row[csta_datetime];
|
||||
}
|
||||
|
||||
$upDateArrJson = json_encode($upDateArr);
|
||||
$upDataArrJson = json_encode($upDataArr);
|
||||
$downDataArrJson = json_encode($downDataArr);
|
||||
$downDateArrArrJson = json_encode($downDateArr);
|
||||
// echo "<pre>";
|
||||
// print_r($upDataArr);
|
||||
// echo "</pre>";
|
||||
//Table-1
|
||||
{
|
||||
$table_title="SPGW Statistic Date:";
|
||||
if($slot>1)
|
||||
$table_title.=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")))." to ".date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_to,date("Y")));
|
||||
else
|
||||
$table_title.=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$sel_date_from,date("Y")));
|
||||
echo "<br><b><center>$table_title</center></b>";
|
||||
echo "<table width=\"99%\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" bordercolor=\"#666666\" bordercolordark=\"#FFFFFF\" bgcolor=\"#FFFFFF\">";
|
||||
echo "<tr bgcolor=\"#E6E6E6\">";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Sess Est</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Sess Est</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Ims Session Est</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Ims Sess Est</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Delete Sess</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Delete Sess Sucess</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Create Bearer</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Create Bearer</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Ggsn Create Pdp</td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$value=$cstaData[0][attempted_sess_est_num]+0;
|
||||
echo "<td align=\"center\">$value</td>";
|
||||
//Attempt
|
||||
$value=$cstaData[0][succ_sess_est_num]+0;
|
||||
echo "<td align=\"center\">$value</td>";
|
||||
|
||||
//Success
|
||||
$value=$cstaData[0][attempted_ims_session_est_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//No Resource
|
||||
$value=$cstaData[0][succ_ims_sess_est_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
|
||||
//Negotiation Fail
|
||||
$value=$cstaData[0][attempted_delete_sess_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//Media Error
|
||||
$value=$cstaData[0][succ_delete_sess_sucess_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
|
||||
|
||||
//No Response
|
||||
$value=$cstaData[0][attempted_create_bearer_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//General Error
|
||||
$value=$cstaData[0][succ_create_bearer_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
|
||||
//Total Call Duration
|
||||
$value=$cstaData[0][attempted_ggsn_create_pdp_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
|
||||
echo "<tr bgcolor=\"#E6E6E6\">";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Ggsn Create Pdp</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Attempted Ggsn Delete Pdp</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Succ Ggsn Delete Pdp</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Ps Pagin</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Fail Ps Paging</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Ims Paging</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Fail Ims Paging</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Uplink Total Volume</td>";
|
||||
echo "<td align=\"center\" width=\"11%\">Downlink Total Volume</td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
//Average Call Duration
|
||||
$value=$cstaData[0][succ_ggsn_create_pdp_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//Attempt
|
||||
$value=$cstaData[0][attempted_ggsn_delete_pdp_num]+0;
|
||||
echo "<td align=\"center\">$value</td>";
|
||||
|
||||
//Success
|
||||
$value=$cstaData[0][succ_ggsn_delete_pdp_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//No Resource
|
||||
$value=$cstaData[0][ps_pagin_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//Negotiation Fail
|
||||
$value=$cstaData[0][fail_ps_paging_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//Media Error
|
||||
$value=$cstaData[0][ims_paging_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//No Response
|
||||
$value=$cstaData[0][fail_ims_paging_num]+0;
|
||||
echo "<td align=\"center\">";
|
||||
echo "$value<br>";
|
||||
echo "</td>";
|
||||
|
||||
//General Error
|
||||
$unitValue=$echartUp;
|
||||
$value=$cstaData[0][uplink_total_volume];
|
||||
echo "<td align=\"center\">";
|
||||
echo "$unitValue<br>($value)";
|
||||
echo "</td>";
|
||||
|
||||
//Total Call Duration
|
||||
$unitValue=$echartDown;
|
||||
$value=$cstaData[0][downlink_total_volume];
|
||||
echo "<td align=\"center\">";
|
||||
echo "$unitValue<br>($value)";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
// //Graphics-1
|
||||
// {
|
||||
// echo "<br><b>Service(Attempt) & Success/Failure</b><br>";
|
||||
// unset($tmpData);
|
||||
// unset($tmpColor);
|
||||
// $tmpData[]=$cstaData[0][1][Attempt]+0;
|
||||
// $tmpData[]=$cstaData[0][2][Attempt]+0;
|
||||
|
||||
// $tmpColor[]=array(0x99,0x00,0x33);
|
||||
// $tmpColor[]=array(0x99,0x00,0xcc);
|
||||
|
||||
// $image=CreateImage(680,370);
|
||||
// $image=DrawPercentHistogram($image,
|
||||
// $tmpData,
|
||||
// $tmpColor,
|
||||
// array(30,20),
|
||||
// array(160,280),1,0
|
||||
// );
|
||||
|
||||
// unset($tmpData);
|
||||
// $data_index=0;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Success]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Success]+0;
|
||||
// $data_index++;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Cau1]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Cau1]+0;
|
||||
// $data_index++;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Cau2]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Cau2]+0;
|
||||
// $data_index++;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Cau3]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Cau3]+0;
|
||||
// $data_index++;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Cau4]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Cau4]+0;
|
||||
// $data_index++;
|
||||
// $tmpData[$data_index][0]=$cstaData[0][1][Cau5]+0;
|
||||
// $tmpData[$data_index][1]=$cstaData[0][2][Cau5]+0;
|
||||
// $data_index++;
|
||||
|
||||
// $image=DrawStackPercentHistogram($image,
|
||||
// $tmpData,
|
||||
// $tmpColor,
|
||||
// array(220,20),
|
||||
// array(420,280),0,1
|
||||
// );
|
||||
|
||||
// $remarkBlock=array(
|
||||
// "Attempt",
|
||||
// "Success",
|
||||
// "No","Resource",
|
||||
// "Negotiation","Fail",
|
||||
// "Media","Error",
|
||||
// "No","Response",
|
||||
// "General","Error"
|
||||
// );
|
||||
|
||||
// $pointArr=array(
|
||||
// array(90,320),
|
||||
// array(245,310),
|
||||
// array(330,305),array(315,315),
|
||||
// array(365,305),array(387,315),
|
||||
// array(448,305),array(447,315),
|
||||
// array(520,305),array(507,315),
|
||||
// array(572,305),array(577,315)
|
||||
// );
|
||||
|
||||
// $image=AddRemarkToImage($image,$pointArr,$remarkBlock,0,0,2);
|
||||
|
||||
// unset($remarkBlock);
|
||||
// unset($pointArr);
|
||||
// $remarkBlock=array(
|
||||
// "Conference",
|
||||
// "Transcoding"
|
||||
// );
|
||||
|
||||
// $pointArr=array(
|
||||
// array(50,340),
|
||||
// array(340,340),
|
||||
// );
|
||||
|
||||
// $image=AddRemarkToImage($image,$pointArr,$remarkBlock,$tmpColor,0,2);
|
||||
|
||||
// DrawImage($image);
|
||||
// }
|
||||
?>
|
||||
<script src="echarts.js"></script>
|
||||
<script>
|
||||
//uplink_total_volume与downlink_total_volume B --KB 10次方 --MB 20 -GB 30 --TB 40
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var chart = echarts.init(document.getElementById('chart'));
|
||||
|
||||
// up down 上线行
|
||||
var option = {
|
||||
grid: {
|
||||
left: '13%',
|
||||
right: '13%',
|
||||
bottom: '13%',
|
||||
containLabel: true
|
||||
},
|
||||
title: {
|
||||
text: 'Linke Total(B)'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
},
|
||||
legend: {
|
||||
data: ['Uplink Total Volume','Downlink Total Volume']
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: <?php echo $upDateArrJson;?>,
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
//由PHP提供数组
|
||||
series: [{
|
||||
name: 'Uplink Total Volume',
|
||||
type: 'line',
|
||||
smooth: true, //
|
||||
data: <?php echo $upDataArrJson;?>
|
||||
},
|
||||
{
|
||||
name:'Downlink Total Volume',
|
||||
type: 'line',
|
||||
smooth: true, //
|
||||
data: <?php echo $downDataArrJson;?>
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
chart.setOption(option);
|
||||
|
||||
// 监听窗口大小变化
|
||||
window.addEventListener('resize', function() {
|
||||
chart.resize();
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
<div class="container">
|
||||
<div id="chart" style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
<style>
|
||||
.container {
|
||||
display: flex; /* 使用 Flexbox 布局 */
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#chart {
|
||||
flex: 1; /* 使图表容器占据剩余空间 */
|
||||
min-height: 0; /* 防止 Flexbox 子元素溢出 */
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user