|
@@ -122,7 +122,7 @@ class HuaweiService
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
- public function searchInformationsAboutOnuAndSave($keyOltScan, $keyOltBandwidthOnu, $oltServerId, $oltDeviceId, $saveHistoric){
|
|
|
+ public function searchInformationsAboutOnuAndSave($keyOltScan, $keyOltBandwidthOnu, $oltServerId, $oltDeviceId, $subId, $saveHistoric){
|
|
|
$startCmd = microtime(true);
|
|
|
$serialNumberCache = $this->redisHelper->getData($keyOltScan, true);
|
|
|
|
|
@@ -141,31 +141,53 @@ class HuaweiService
|
|
|
$stats = [];
|
|
|
$sendData = [];
|
|
|
$consumptionData = [];
|
|
|
+ $totalConsOut = $totalConsIn = $totalIn = $totalOut = 0;
|
|
|
|
|
|
$huaweiOnuService = new HuaweiOnuService($sendData, $stats, $consumptionData, $onuBandwithCache, $oltServerId, $oltDeviceId);
|
|
|
|
|
|
$timeStart = time();
|
|
|
foreach($serialNumberCache as $index => $onu){
|
|
|
$sn = strtolower($onu['serialNumber']);
|
|
|
+ $ponPort = str_replace("/", ".", $onu['ponPort']);
|
|
|
|
|
|
$huaweiOnuService
|
|
|
- ->configure(new Huawei($index, $sn))
|
|
|
+ ->configure(new Huawei($index, $sn, $ponPort))
|
|
|
->setPowerOnu($txPower, "onu_tx_")
|
|
|
->setPowerOnu($rxPower, "onu_rx_")
|
|
|
->setTemperatureOnu($temperature)
|
|
|
->setVoltage($voltage)
|
|
|
->setCatvRxPower($catvRxPower)
|
|
|
->setStatus($status)
|
|
|
- ->setConsupmitionBranwidth($inOctets, $outOctets, $timeStart);
|
|
|
+ ->setConsupmitionBranwidth($inOctets, $outOctets, $timeStart, $totalIn, $totalOut, $totalConsIn, $totalConsOut, $subId);
|
|
|
}
|
|
|
|
|
|
foreach ($stats as $metric => $data) {
|
|
|
- $key_onu_stats = "{$metric}{$this->flagCmd}";
|
|
|
+ $key_onu_stats = "{$metric}{$subId}";
|
|
|
|
|
|
$this->redisHelper->setData($key_onu_stats, $data, true);
|
|
|
}
|
|
|
|
|
|
$this->redisHelper->setData($keyOltBandwidthOnu, $onuBandwithCache, true);
|
|
|
+
|
|
|
+ $oltBandwidth = array();
|
|
|
+ $oltBandwidth["{$subId}_inbandwidth_olt"] = "{$totalIn}|g";
|
|
|
+ $oltBandwidth["{$subId}_outbandwidth_olt"] = "{$totalOut}|g";
|
|
|
+
|
|
|
+ $div = 1073741824; //bytes => giga
|
|
|
+ $consIn = number_format(($totalConsIn / $div),3,'.','');
|
|
|
+ $consOut = number_format(($totalConsOut / $div),3,'.','');
|
|
|
+ $oltConsumption = array();
|
|
|
+ $oltConsumption["{$subId}_inconsumption_olt"] = "{$consIn}|g";
|
|
|
+ $oltConsumption["{$subId}_outconsumption_olt"] = "{$consOut}|g";
|
|
|
+
|
|
|
+ $statsdService = new StatsDService();
|
|
|
+ $statsdService->send($oltBandwidth);
|
|
|
+ $statsdService->send($oltConsumption);
|
|
|
+
|
|
|
+ $endCmd = microtime(true);
|
|
|
+ $time = $endCmd - $startCmd;
|
|
|
+ $this->output->writeln("Tiempo: $time segundos");
|
|
|
+
|
|
|
$this->saveConsumption($consumptionData);
|
|
|
|
|
|
if ($sendData && $saveHistoric) {
|