Просмотр исходного кода

FD3-562 Se agrega en vista de PonPort la cantidad de ONUs online/offline.

Maxi Schvindt 7 лет назад
Родитель
Сommit
8761ca4f92

+ 9 - 3
src/StatsBundle/Command/StatsPonPortCommand.php

@@ -63,7 +63,7 @@ class StatsPonPortCommand extends BaseCommand
             $_ponPorts[$pp->getPonPort()] = $pp->getId();
         }
 
-        
+        $sendData = array();
         foreach($ponsCached as $index => $stats) {
             
             $row = array();
@@ -95,6 +95,9 @@ class StatsPonPortCommand extends BaseCommand
             }
             
             if(isset($status[$ponPort])) {
+                $p = str_replace("/",".",$ponPort);
+                $sendData["d_{$oltDeviceId}_s_{$oltServerId}_pon_state_on_$p"] = "{$status[$ponPort][1]}|g";
+                $sendData["d_{$oltDeviceId}_s_{$oltServerId}_pon_state_off_$p"] = "{$status[$ponPort][0]}|g";
                 $row['online'] = $status[$ponPort][1];
                 $row['offline'] = $status[$ponPort][0];
             } else {
@@ -116,6 +119,11 @@ class StatsPonPortCommand extends BaseCommand
         
         $conn->query($sql);
         $conn->close();
+
+        if($sendData) {
+            $statsdService = $this->getContainer()->get('statsd');
+            $statsdService->send($sendData);
+        }
         
 
     }
@@ -144,8 +152,6 @@ class StatsPonPortCommand extends BaseCommand
                 $state = $status[$sn];
                 $return[$port][$state]++;
             }
-
-
         }
 
         return $return;

+ 2 - 0
src/StatsBundle/Controller/StatsController.php

@@ -563,6 +563,8 @@ class StatsController extends Controller
     $targets["tx"] = array("target" => "{$prefix}_pon_tx_{$ponPort}");
     $targets["voltage"] = array("target" => "{$prefix}_pon_voltage_{$ponPort}");
     $targets["temperature"] = array("target" => "{$prefix}_pon_temperature_{$ponPort}");
+    $targets["on"] = array("target" => "{$prefix}_pon_state_on_{$ponPort}");
+    $targets["off"] = array("target" => "{$prefix}_pon_state_off_{$ponPort}");
     
     $errors = array();
     

+ 22 - 1
src/StatsBundle/Resources/views/Stats/olt_ponport.html.twig

@@ -8,6 +8,8 @@
             <div id="olt_ponport_voltage" style="min-width: 310px; height: 400px; float: left; width:50%"></div>
             <div id="olt_ponport_temperature" style="min-width: 310px; height: 400px; float: left; width:50%"></div>
         </div>
+
+        <div id="olt_ponport_onu" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
     </div>
 </div>
 
@@ -15,7 +17,7 @@
 
 Highcharts.chart('olt_ponport_bandwidth', {
     chart: {type: 'spline'},
-    title: {text: 'Bandwidth Interface'},
+    title: {text: 'Bandwidth PonPort'},
     subtitle: {text: 'IN Bandwidth / OUT Bandwidth'},
     xAxis: {type: 'datetime',dateTimeLabelFormats: {month: '%e. %b',year: '%b'},title: {text: 'Date'}},
     yAxis: {labels: {formatter: bandwidthAxisLabel,align: 'left'},min: 0},
@@ -86,4 +88,23 @@ Highcharts.chart('olt_ponport_temperature', {
     }]
 });
 
+Highcharts.chart('olt_ponport_onu', {
+    chart: {type: 'column'},
+    title: {text: 'Onus'},
+    subtitle: {text: 'Online / Offline'},
+    xAxis: {type: 'datetime',dateTimeLabelFormats: {month: '%e. %b',year: '%b'},title: {text: 'Date'}},
+    yAxis: {min: 0,stackLabels: {enabled: true,style: {fontWeight: 'bold',color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'}}},
+    tooltip: {valueSuffix: ' cm',valueDecimals: 0},
+    plotOptions: {column: {stacking: 'normal',dataLabels: {enabled: true,color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white'}}},
+    series: [{
+        name: 'Online',
+        data: {{series['on']['data']|json_encode}},
+        color: '#3f6833'
+    }, {
+        name: 'Offline',
+        data: {{series['off']['data']|json_encode}},
+        color: '#e24d42'
+    }]
+});
+
 </script>