WIFI-444: APNOS : UCC Heuristics phase 2

New VideoVoice protobufs

** also fix Json file for captive portal static tests.
This commit is contained in:
Mike Hansen
2020-10-09 13:34:17 -04:00
parent e3da2db9ab
commit 76d9cf79f5
6 changed files with 28 additions and 19 deletions

View File

@@ -29,7 +29,6 @@ import com.telecominfraproject.wlan.client.session.models.ClientSession;
import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails; import com.telecominfraproject.wlan.client.session.models.ClientSessionDetails;
import com.telecominfraproject.wlan.client.session.models.ClientSessionMetricDetails; import com.telecominfraproject.wlan.client.session.models.ClientSessionMetricDetails;
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface; import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
import com.telecominfraproject.wlan.core.model.entity.MinMaxAvgValueInt;
import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth; import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth;
import com.telecominfraproject.wlan.core.model.equipment.DetectedAuthMode; import com.telecominfraproject.wlan.core.model.equipment.DetectedAuthMode;
import com.telecominfraproject.wlan.core.model.equipment.MacAddress; import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
@@ -47,7 +46,6 @@ import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
import com.telecominfraproject.wlan.profile.models.Profile; import com.telecominfraproject.wlan.profile.models.Profile;
import com.telecominfraproject.wlan.profile.models.ProfileContainer; import com.telecominfraproject.wlan.profile.models.ProfileContainer;
import com.telecominfraproject.wlan.profile.models.ProfileType; import com.telecominfraproject.wlan.profile.models.ProfileType;
import com.telecominfraproject.wlan.profile.rf.models.RfConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.RadioBasedSsidConfiguration; import com.telecominfraproject.wlan.profile.ssid.models.RadioBasedSsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration; import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration;
import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode; import com.telecominfraproject.wlan.profile.ssid.models.SsidConfiguration.SecureMode;
@@ -1515,7 +1513,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
Map<RadioType, Integer> avgNoiseFloor = new HashMap<>(); Map<RadioType, Integer> avgNoiseFloor = new HashMap<>();
new HashMap<>(); new HashMap<>();
Map<RadioType, EquipmentCapacityDetails> capacityDetails = new HashMap<>(); Map<RadioType, EquipmentCapacityDetails> capacityDetails = new HashMap<>();
Map<RadioType,EquipmentPerRadioUtilizationDetails> radioUtilizationDetailsMap = new HashMap<>(); Map<RadioType, EquipmentPerRadioUtilizationDetails> radioUtilizationDetailsMap = new HashMap<>();
// populate it from report.survey // populate it from report.survey
for (Survey survey : report.getSurveyList()) { for (Survey survey : report.getSurveyList()) {
@@ -1554,7 +1552,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
radioUtil.setAssocClientTx(pctBusyTx); radioUtil.setAssocClientTx(pctBusyTx);
int pctBusyRx = busyRx / totalDurationMs; int pctBusyRx = busyRx / totalDurationMs;
radioUtil.setAssocClientRx(pctBusyRx); radioUtil.setAssocClientRx(pctBusyRx);
double pctIBSS = (double) ((busyTx + busySelf) / totalDurationMs); double pctIBSS = (busyTx + busySelf) / totalDurationMs;
radioUtil.setIbss(pctIBSS); radioUtil.setIbss(pctIBSS);
int nonWifi = (busy - (busyTx + busyRx)) / totalDurationMs; int nonWifi = (busy - (busyTx + busyRx)) / totalDurationMs;
radioUtil.setNonWifi(nonWifi); radioUtil.setNonWifi(nonWifi);
@@ -1571,7 +1569,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
apNodeMetrics.setNoiseFloor(radioType, noiseAvg); apNodeMetrics.setNoiseFloor(radioType, noiseAvg);
Long totalUtilization = Math.round((double) busy / totalDurationMs); Long totalUtilization = Math.round((double) busy / totalDurationMs);
Long totalNonWifi = totalUtilization - (busyTx + busyRx) / totalDurationMs; Long totalNonWifi = totalUtilization - ((busyTx + busyRx) / totalDurationMs);
EquipmentCapacityDetails cap = new EquipmentCapacityDetails(); EquipmentCapacityDetails cap = new EquipmentCapacityDetails();
cap.setUnavailableCapacity(totalNonWifi.intValue()); cap.setUnavailableCapacity(totalNonWifi.intValue());
@@ -1583,8 +1581,9 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
apNodeMetrics.setChannelUtilization(radioType, totalUtilization.intValue()); apNodeMetrics.setChannelUtilization(radioType, totalUtilization.intValue());
capacityDetails.put(radioType, cap); capacityDetails.put(radioType, cap);
// EquipmentPerRadioUtilizationDetails details = new EquipmentPerRadioUtilizationDetails(); // EquipmentPerRadioUtilizationDetails details = new
// details.setWifiFromOtherBss(new MinMaxAvgValueInt()); // EquipmentPerRadioUtilizationDetails();
// details.setWifiFromOtherBss(new MinMaxAvgValueInt());
radioUtilizationDetailsMap.put(radioType, new EquipmentPerRadioUtilizationDetails()); radioUtilizationDetailsMap.put(radioType, new EquipmentPerRadioUtilizationDetails());
} }
@@ -2257,8 +2256,7 @@ public class OpensyncExternalIntegrationMqttMessageProcessor {
ProfileContainer profileContainer = new ProfileContainer( ProfileContainer profileContainer = new ProfileContainer(
profileServiceInterface.getProfileWithChildren(profileId)); profileServiceInterface.getProfileWithChildren(profileId));
RfConfiguration rfConfig = (RfConfiguration) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf) profileContainer.getChildOfTypeOrNull(profileId, ProfileType.rf).getDetails();
.getDetails();
for (Survey survey : report.getSurveyList()) { for (Survey survey : report.getSurveyList()) {

View File

@@ -192,6 +192,9 @@ public class OpensyncExternalIntegrationSimple implements OpensyncExternalIntegr
public void processMqttMessage(String topic, Report report) { public void processMqttMessage(String topic, Report report) {
LOG.info("Received OpensyncStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report); LOG.info("Received OpensyncStatsReport on topic {} for ap {}\n{}", topic, report.getNodeID(), report);
report.getVideoVoiceReportList().stream().forEach(v -> {
LOG.info("VideoVoiceReport {}", v);
});
report.getEventReportList().stream().forEach(e -> { report.getEventReportList().stream().forEach(e -> {
LOG.info("Received EventReport {}", e); LOG.info("Received EventReport {}", e);
}); });

View File

@@ -1,3 +1,4 @@
[
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 14, "id": 14,
@@ -131,3 +132,4 @@
"lastModifiedTimestamp": 1602183994959, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [] "childProfileIds": []
} }
]

View File

@@ -1,3 +1,4 @@
[
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 14, "id": 14,
@@ -131,3 +132,4 @@
"lastModifiedTimestamp": 1602183994959, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [] "childProfileIds": []
} }
]

View File

@@ -1,3 +1,4 @@
[
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 14, "id": 14,
@@ -131,3 +132,4 @@
"lastModifiedTimestamp": 1602183994959, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [] "childProfileIds": []
} }
]

View File

@@ -1,3 +1,4 @@
[
{ {
"model_type": "Profile", "model_type": "Profile",
"id": 14, "id": 14,
@@ -131,3 +132,4 @@
"lastModifiedTimestamp": 1602183994959, "lastModifiedTimestamp": 1602183994959,
"childProfileIds": [] "childProfileIds": []
} }
]