From cc2c26f51d8f0ac693a9b31fcb0eb5d28d8b0be4 Mon Sep 17 00:00:00 2001 From: root <295172551@qq.com> Date: Sat, 28 Jun 2025 21:36:41 +0800 Subject: [PATCH] fsfasfafa --- LTEMvcApp/Views/Statistics/Index.cshtml | 98 +++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/LTEMvcApp/Views/Statistics/Index.cshtml b/LTEMvcApp/Views/Statistics/Index.cshtml index a33622a..fbfe122 100644 --- a/LTEMvcApp/Views/Statistics/Index.cshtml +++ b/LTEMvcApp/Views/Statistics/Index.cshtml @@ -185,6 +185,36 @@ + +
+
+
+
+
RF CPU时间
+
+
+
+ +
+
+
+
+ + +
+
+
+
RXTX延迟统计
+
+
+
+ +
+
+
+
+
+
@@ -304,6 +334,8 @@ // 图表实例 let cpuChart = null; let rfChart = null; + let rfCpuChart = null; + let rxtxDelayChart = null; let cellPerformanceChart = null; let txSamplesChart = null; let rxSamplesChart = null; @@ -365,6 +397,56 @@ } }); + // RF CPU时间图表 + const rfCpuCtx = document.getElementById('rfCpuChart').getContext('2d'); + rfCpuChart = new Chart(rfCpuCtx, { + type: 'bar', + data: { + labels: ['RX CPU时间', 'TX CPU时间'], + datasets: [{ + label: 'CPU时间 (%)', + data: [0, 0], + backgroundColor: ['#ff6384', '#36a2eb'], + borderWidth: 1 + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + scales: { + y: { + beginAtZero: true + } + } + } + }); + + // RXTX延迟图表 + const rxtxDelayCtx = document.getElementById('rxtxDelayChart').getContext('2d'); + rxtxDelayChart = new Chart(rxtxDelayCtx, { + type: 'line', + data: { + labels: ['最小值', '平均值', '最大值'], + datasets: [{ + label: '延迟 (ms)', + data: [0, 0, 0], + borderColor: '#4bc0c0', + backgroundColor: 'rgba(75, 192, 192, 0.1)', + tension: 0.1, + fill: true + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + scales: { + y: { + beginAtZero: true + } + } + } + }); + // 小区性能图表 const cellCtx = document.getElementById('cellPerformanceChart').getContext('2d'); cellPerformanceChart = new Chart(cellCtx, { @@ -479,11 +561,27 @@ // 更新RF图表 if (firstClient.rf) { + // 更新RF采样率图表 rfChart.data.datasets[0].data = [ firstClient.rf.rxSampleRate || 0, firstClient.rf.txSampleRate || 0 ]; rfChart.update(); + + // 更新RF CPU时间图表 + rfCpuChart.data.datasets[0].data = [ + firstClient.rf.rxCpuTime || 0, + firstClient.rf.txCpuTime || 0 + ]; + rfCpuChart.update(); + + // 更新RXTX延迟图表 + rxtxDelayChart.data.datasets[0].data = [ + firstClient.rf.rxtxDelayMin || 0, + firstClient.rf.rxtxDelayAvg || 0, + firstClient.rf.rxtxDelayMax || 0 + ]; + rxtxDelayChart.update(); } // 更新小区性能图表