This document provides a tutorial on how to use the MobileInsight built-in KPI analyzers.
KPI analyzer overview¶
Key performance indicators (KPI) are designed to reflect network performance. Operators use these KPIs evaluate the perceived quality of provided network services in several aspects, for example, accessibility, mobility, retainability and integrity. As an effort to standardize KPIs to evaluate UMTS/LTE networks, 3GPP standards defined essential KPI metrics with details on how to calculate them [TS32.450 and TS32.355]. Traditionally, these KPIs are calculated and aggregated at network side. Now Mobileinsight provides these KPIs at user side, offering user viewed KPIs.
MobileInsight now provides KPI analyzers to analyze KPIs for both online monitor and offline collected logs. In order to manage KPI analyzers, we have a KPI manager class to provide a centralized view of all available KPIs, and provides query interfaces for the KPIs. Then we name each KPI and manage KPIs with the KPImanager. All provided KPIs are listed as below with the name to refer it. Here is a list of standardized KPIs.
RRC connection establishment success rate (
Attach success rate (
Dedicated EPS bearer setup success rate (
Service request success rate (
Tracking area update success rate (
Intra RAT handover success rate (
Abnormal RRC connection release rate (
IP throughput (
In addition, Mobileinsight provides experimental KPIs that are indicators of mobility performance and data plane performances. These KPIs are not standardized but help to evaluate and understand network performance. We also developed latency breakdown analyzers for both uplink access network and downlink access network, which is released as standalone analyzers .
Handover disruption time (
Handover prediction (
Handover head of line blocking (
Data plane (L1/L2):
Downlink PDCP packet loss (
Uplink PDCP packet loss (
Block Error Ratio (
How to use KPI analyzers¶
We provide an example of online monitoring (included in
mobileinsight-mobile/app/plugins/KPIManager/) and offline analysis (included in
mobileinsight-core/examples/kpi-manager-test.py). In order to manger KPI, we need to declare a KPI manager. We can use
list_kpis to list all suported KPIs. Then we call
enable_kpi to enable a KPI by its name. Once invoked, this function will declare KPIAnalyzer that is responsible for this KPI, and start the monitoring functions.
The following code shows how to declare KPIs.:
from mobile_insight.monitor import OfflineReplayer from mobile_insight.analyzer.kpi import KPIManager # Initialize a replayer and set input log src = OfflineReplayer() path = "./logs/attach_sample.mi2log" src.set_input_path(path) # Initialize the KPI manager kpi_manager = KPIManager() # Test Accessibility KPIs kpi_manager.enable_kpi("KPI.Accessibility.RRC_SR") kpi_manager.enable_kpi("KPI.Accessibility.SR_SR") kpi_manager.enable_kpi("KPI.Accessibility.ATTACH_SR") kpi_manager.enable_kpi("KPI.Accessibility.DEDICATED_BEARER_SR_QCI1_SR") # Test Mobility KPIs kpi_manager.enable_kpi("KPI.Mobility.HO_SR") kpi_manager.enable_kpi("KPI.Mobility.TAU_SR") # Test Retainability KPIs kpi_manager.enable_kpi("KPI.Retainability.RRC_AB_REL") # Test Integrity KPIs kpi_manager.enable_kpi("KPI.Integrity.DL_TPUT") kpi_manager.set_source(src) # Start analysis src.run()
When this code is executed, we can see the KPI of the analyzed logs.
We also offer per cell/user KPI query and customized KPI monitoring periodicity. When we enable a KPI the default mode is per user query, which means every KPI is calculated based on the user. If we only need to enable the query for a specific cell, we can specify the argument ‘cell’ with cell global ID, e.g.
In order to set the periodicity, we need to add the periodicity argument. The periodicity argument needs to be a string ended with ‘s’, ‘m’, or ‘h’, indicating the number of seconds, minutes and hours. For example, we can set the periodicity of the KPI as ‘1h’: