Commit b3370cd8 authored by Kirill Smelkov's avatar Kirill Smelkov

demo/kpidemo.ipynb: New JupyterLab notebook that demonstrates how to compute KPIs with xlte

Add JupyterLab notebook that shows how to build KPI-computing pipeline
and to compute the KPIs. The notebook comes with extensive comments
describing every step. Please see those comments for details.
parent 7934cb0e
......@@ -4,6 +4,7 @@ build/
.tox/
.cache/
.pytest_cache/
.ipynb_checkpoints/
*.o
*.so
......
{
"cells": [
{
"cell_type": "markdown",
"id": "39270d26-3bb7-4cd3-835f-c26b2287a74e",
"metadata": {
"tags": []
},
"source": [
"# KPI demo\n",
"\n",
"This notebook demonstrates how to compute KPIs with [xlte](https://lab.nexedi.com/kirr/xlte).\n",
"It is based on [_kpidemo_](https://lab.nexedi.com/kirr/xlte/blob/master/demo/kpidemo.py)\n",
"program from that repository.\n",
"\n",
"--------\n",
"\n",
"As outlined in [xlte/kpi.py](https://lab.nexedi.com/kirr/xlte/blob/master/kpi.py)\n",
"module documentation the pipeline to compute a KPI is as follows:\n",
"\n",
"```\n",
" ─────────────\n",
" │ Measurement │ Measurements ──────────────── ──────\n",
" │ │ ─────────────→ │ MeasurementLog │ ──→ │ Calc │ ──→ KPI\n",
" │ driver │ ──────────────── ──────\n",
" ─────────────\n",
"```\n",
"\n",
"Below we will organize this pipeline and execute it step by step."
]
},
{
"cell_type": "markdown",
"id": "003a3878-8ccc-44bd-bf10-b91117f760b1",
"metadata": {},
"source": [
"**Step 1**.\n",
"Setup driver to provide measurements data.<br>\n",
"Such a driver is specific to eNB implementation. Below we use [amari.kpi.LogMeasure](https://lab.nexedi.com/kirr/xlte/blob/master/amari/kpi.py) that is\n",
"specific to Amarisoft and retrieves measurements data from _enb.xlog_ . The _enb.xlog_ itself was produced by [amari.xlog](https://lab.nexedi.com/kirr/xlte/blob/master/amari/xlog.py) module via running `xamari xlog ws://localhost:9001 stats/15s` command on the eNodeB."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "02e84035-1393-4fc5-a2ba-50db66d29c71",
"metadata": {},
"outputs": [],
"source": [
"from xlte.amari import kpi as akpi\n",
"from urllib.request import urlopen\n",
"\n",
"xlog_uri = \"https://lab.nexedi.com/kirr/misc/raw/162307b9/lte/20221211-overload.xlog\"\n",
"fxlog = urlopen(xlog_uri)\n",
"alogm = akpi.LogMeasure(fxlog, # amari.kpi.LogMeasure converts enb.xlog into kpi.Measurements\n",
" open('/dev/null', 'r'))"
]
},
{
"cell_type": "markdown",
"id": "b48fa32a-49cb-4c42-8b6b-7cb57eb6553b",
"metadata": {},
"source": [
"**Step 2**. Setup [kpi.MeasurementLog](https://lab.nexedi.com/kirr/xlte/blob/master/kpi.py) and load measurements data into it.<br>\n",
"The data, as contained in the measurement log, is kept there in the form\n",
"of [kpi.Measurement](https://lab.nexedi.com/kirr/xlte/blob/master/kpi.py), which is driver-independent representation for\n",
"KPI-related measurement data."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "eb525de0-ad6b-4165-b18b-998087cc9da6",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from xlte import kpi\n",
"\n",
"mlog = kpi.MeasurementLog()\n",
"try:\n",
" while 1:\n",
" m = alogm.read()\n",
" if m is None:\n",
" break\n",
" mlog.append(m)\n",
"finally:\n",
" alogm.close()"
]
},
{
"cell_type": "markdown",
"id": "861a7be6-5276-4718-91e4-bc3e5a3e8918",
"metadata": {},
"source": [
"**Step 3**. Compute E-RAB Accessibility KPI over _MeasurementLog_ with specified granularity period.<br>\n",
"We partition entries in the measurement log by specified time period and further use [kpi.Calc](https://lab.nexedi.com/kirr/xlte/blob/master/kpi.py) to compute the KPI over each period."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "00696868-2191-4176-b786-16e01a755230",
"metadata": {},
"outputs": [],
"source": [
"tperiod = 1*60 # 1 minute\n",
"vτ = []\n",
"vInititialEPSBEstabSR = []\n",
"vAddedEPSBEstabSR = []\n",
"\n",
"τ = mlog.data()[0]['X.Tstart']\n",
"for m in mlog.data()[1:]:\n",
" τ_ = m['X.Tstart']\n",
" if (τ_ - τ) >= tperiod:\n",
" calc = kpi.Calc(mlog, τ, τ+tperiod)\n",
" vτ.append(calc.τ_lo)\n",
" τ = calc.τ_hi\n",
" _ = calc.erab_accessibility()\n",
" vInititialEPSBEstabSR.append(_[0])\n",
" vAddedEPSBEstabSR .append(_[1])"
]
},
{
"cell_type": "markdown",
"id": "5523529e-99a8-492b-804a-bad72966576a",
"metadata": {},
"source": [
"**Step 4**. Plot computed KPI.<br>\n",
"The E-RAB Accessibility KPI has two parts: _initial E-RAB establishment\n",
"success rate_, and _additional E-RAB establishment success rate_. [kpi.Calc](https://lab.nexedi.com/kirr/xlte/blob/master/kpi.py)\n",
"provides both of them in the form of their confidence intervals. The\n",
"lower margin of the confidence interval coincides with 3GPP definition of\n",
"the KPI. The upper margin, however, provides information of how\n",
"confident, or how unsure we are about described value. For example if\n",
"there is enough data to compute the KPI precisely during particular\n",
"period, the low and high margins of the confidence interval will be the\n",
"same. However if, during a period, there is no measurements data at all,\n",
"the confidence interval will be \\[0,100\\] meaning full uncertainty - because\n",
"there is no measurements data we don't know how accessible eNB was during\n",
"that period of time. The width of a confidence interval is not\n",
"necessarily 100. For example if during a period, there is no measurement\n",
"data only for part of that period, the KPI value is computed from the\n",
"other times in the period when there is data, and the confidence interval\n",
"will be thinner.\n",
"\n",
"For each of the parts we plot both its lower margin and the whole\n",
"confidence interval area."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "3054cc3d-cb48-4964-83f7-538a857cab9d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Bx98IFQqldi/f7+4ceOG9MnOzpbavP/++8Ld3V3s27dPHD16VPj4+AgfHx+dfjp16iS++uorabokx82XX34p7O3txZYtW8Qff/whAgIChKenp7h3717577iJMVSe7t69Kz766CMRHx8vLl26JPbu3Statmwp6tWrJ3Jycp7PzhsYi0USv/zyiwBQ6BMUFCSEEGLevHmiZs2aQi6XC3d3dzFp0iSRm5ur00dQUJBo37693m0UVSyOGTNGuLu7C4VCIZydncVrr70mjh07VsZ7V7GUR65WrFghGjVqJKytrYWdnZ14+eWXdR498dD69etF/fr1hUKhEE2aNBE7duwoz101eYbKFY+r0isqTwBEVFSU1ObevXti+PDhomrVqsLa2lr07NlT3LhxQ6cfDw8PMWXKFJ15TzpuCgoKxOTJk4Wzs7NQKpWic+fOIikpqbx21aQZKk/Z2dnCz89PVK9eXcjlcuHh4SGGDh0qUlJSynN3jYpMiEeupiYiIiIiegSvWSQiIiIivVgsEhEREZFeLBaJiIiISC8Wi0RERESkF4tFIiIiItKLxSIRERER6cVikYiIiIj0YrFIRERERHqxWCQiIiKjFBkZiVatWsHW1hZOTk4IDAxEUlKSTpucnByEhITA0dERNjY26N27N1JTU6XlJ06cQP/+/eHm5gYrKys0atQI8+bN0+lj48aNePXVV1G9enXY2dnBx8cHu3btemJ8HTp0gEwmg0wmg1KpRI0aNdC9e3ds3LixbL6AJ5g2bRratGkDa2tr2NvbF9lm1KhR8PLyglKpRIsWLZ5qOywWiYiIyCjFxsYiJCQEBw8exJ49e6DRaODn54esrCypzdixY7Ft2zZER0cjNjYW169fR69evaTlCQkJcHJywvfff4/Tp0/j008/xcSJE7FgwQKpzYEDB/Dqq6/ip59+QkJCAjp27Iju3bsjMTHxiTEOHToUN27cwIULF7BhwwY0btwY/fr1w7Bhw8r2yyhCXl4e+vTpgw8++KDYdkOGDMGbb7759Bsy9PsGiYiIiEri5s2bAoCIjY0VQgiRlpYm5HK5zjvSz549KwCI+Ph4vf0MHz5cdOzYsdhtNW7cWISFhRXbpn379mL06NGF5i9fvlwAEHv27JHmJScniz59+giVSiWqVq0qevToIS5duqSz3rJly0Tjxo2FQqEQarVahISEFLv9h6KiooRKpSq2zZQpU0Tz5s1L1N/jOLJIREREJiE9PR0A4ODgAOD+qKFGo4Gvr6/UpmHDhnB3d0d8fHyx/TzsoygFBQW4e/dusW2KExQUhKpVq0qnozUaDfz9/WFra4tff/0Vv//+O2xsbNClSxfk5eUBABYvXoyQkBAMGzYMJ0+exNatW1G3bt2n2n5ZszB0AERERERPUlBQgDFjxqBt27Zo2rQpACAlJQUKhaLQ9XrOzs5ISUkpsp+4uDisW7cOO3bs0LutWbNmITMzE3379n2qWM3MzFC/fn1cvnwZALBu3ToUFBRg6dKlkMlkAICoqCjY29tj//798PPzw9SpU/Hhhx9i9OjRUj+tWrV6qu2XNY4sEhERkdELCQnBqVOnsHbt2qfu49SpUwgICMCUKVPg5+dXZJvVq1cjLCwM69evh5OTEwDghx9+gI2NjfT59ddfn7gtIYRUGJ44cQLnz5+Hra2t1IeDgwNycnJw4cIF3Lx5E9evX0fnzp2L7Ov999/X2f7zxpFFIiIiMmojRozA9u3bceDAAdSsWVOar1arkZeXh7S0NJ3RxdTUVKjVap0+zpw5g86dO2PYsGGYNGlSkdtZu3Yt3n33XURHR+uc2u7Rowe8vb2l6Ro1ahQbr1arxblz56SRwczMTHh5eeGHH34o1LZ69eowMyt+7C48PBwfffRRsW3KE4tFIiIiMkpCCIwcORKbNm3C/v374enpqbPcy8sLcrkcMTEx6N27NwAgKSkJycnJ8PHxkdqdPn0anTp1QlBQEKZNm1bkttasWYMhQ4Zg7dq16Natm84yW1tb2NraljjulStX4t9//5ViatmyJdatWwcnJyfY2dkVuU6tWrUQExODjh07Flrm5OQkjXIaAotFIiIiMkohISFYvXo1tmzZAltbW+k6RJVKBSsrK6hUKgQHByM0NBQODg6ws7PDyJEj4ePjg9atWwO4f+q5U6dO8Pf3R2hoqNSHubk5qlevDuD+qeegoCDMmzcP3t7eUpuH2yhOdnY2UlJSkJ+fj2vXrmHTpk2YM2cOPvjgA6nwGzhwIGbOnImAgACEh4ejZs2auHLlCjZu3Ijx48ejZs2a+Pzzz/H+++/DyckJXbt2xd27d/H7779j5MiRerednJyMf/75B8nJydBqtTh+/DgAoG7dutLp6vPnzyMzMxMpKSm4d++e1KZx48ZQKBQlS8RT3UNNREREVM4AFPmJioqS2ty7d08MHz5cVK1aVVhbW4uePXuKGzduSMunTJlSZB8eHh5Sm/bt2xfZJigoqNj4Hl1PoVAIFxcX8frrr4uNGzcWanvjxg3xzjvviGrVqgmlUilq164thg4dKtLT06U2S5YsEQ0aNBByuVy4uLiIkSNHFrv9oKCgIuP+5Zdfnrhvjz+2pzgyIYQoWVlJRERERJUN74YmIiIiIr1YLBIRERGRXiwWiYiIiEgvFotEREREpBeLRSIiIiLSi8UiEREREenFYpGIiIiI9GKxSERERER6sVgkIiIiIr1YLBIRERGRXiwWiYiIiEiv/wdMDL3WXd7SAQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.dates as mdates\n",
"from datetime import datetime\n",
"\n",
"fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True, layout='constrained')\n",
"pmin, psec = divmod(tperiod, 60) \n",
"fig.suptitle(\"E-RAB Accessibility / %s%s\" % (\"%d'\" % pmin if pmin else '', \n",
" '%d\"' % psec if psec else ''))\n",
"ax1.set_title(\"Initial E-RAB establishment success rate\")\n",
"ax2.set_title(\"Added E-RAB establishment success rate\")\n",
"\n",
"vτ = [datetime.fromtimestamp(_) for _ in vτ] \n",
"def plot1(ax, v, label): # plot1 plots KPI data from vector v on ax.\n",
" v = np.asarray(v)\n",
" ax.plot(vτ, v['lo'], drawstyle='steps-post', label=label)\n",
" ax.fill_between(vτ, v['lo'], v['hi'],\n",
" step='post', alpha=0.1, label='%s\\nuncertainty' % label)\n",
"\n",
"plot1(ax1, vInititialEPSBEstabSR, \"InititialEPSBEstabSR\")\n",
"plot1(ax2, vAddedEPSBEstabSR, \"AddedEPSBEstabSR\")\n",
"\n",
"for ax in (ax1, ax2):\n",
" ax.set_ylabel(\"%\")\n",
" ax.set_ylim([0-10, 100+10])\n",
" ax.set_yticks([0,20,40,60,80,100])\n",
"\n",
" xloc = mdates.AutoDateLocator()\n",
" xfmt = mdates.ConciseDateFormatter(xloc)\n",
" ax.xaxis.set_major_locator(xloc)\n",
" ax.xaxis.set_major_formatter(xfmt)\n",
"\n",
" ax.grid(True)\n",
" ax.legend(loc='upper left')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "2d70581b-1ad4-4d14-b3aa-81a6968b1414",
"metadata": {},
"source": [
"The plot corresponds to scenario with 3 parts:\n",
"\n",
"1. the first part is \"silence\" - when there is no mobiles around and so the base station is not being used by UEs at all. As the base station is not being used we don't know the probablity of successfully establishing an E-RAB. This is reflected by [0,100] confidence interval that means \"full uncertainty\".\n",
"\n",
"2. the second period is when 5 UE start to attach and detach to eNB constantly. Each mobile attaches for 20 seconds and does a ping test, then goes to power_off for 5 seconds. The base station can handle that just ok with all E-RAB establishment requests succeeding. This is reflected by *InititialEPSBEstabSR*=100%.\n",
"\n",
"3. The third period is when 100 UE are around the base station. They all try to do the same power_on+ping+power_off test from \"2\", but since the number of UE is high, the base station gets overloaded and cannot attach them all. This is reflected by decreased *InititialEPSBEstabSR*.\n",
"\n",
"In this test there was no additional E-RAB established, so *AddedEPSBEstabSR* is full uncertainty all the time."
]
},
{
"cell_type": "markdown",
"id": "a05f982f-4a00-487b-ab58-b7f0ad17febc",
"metadata": {},
"source": [
"END"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment