amari.{drb,xlog}: Provide aggregated DRB statistics in the form of synthetic x.drb_stats message
This patch provides next building block for E-UTRAN IP Throughput KPI and continues d102ffaa (drb: Start of the package). Quoting that patch The scheme to compute E-UTRAN IP Throughput is thus as follows: poll eNB at 100Hz frequency for `ue_get[stats]` and retrieve information about per-UE/QCI streams and the number of transport blocks dl/ul-ed to the UE in question during that 10ms frame. Estimate `tx_time` taking into account the number of transmitted transport blocks. And estimate whether eNB is congested or not based on `dl_use_avg`/`ul_use_avg` taken from `stats`. For the latter we also need to poll for `stats` at 100Hz frequency and synchronize `ue_get[stats]` and `stats` requests in time so that they both cover the same time interval of particular frame. Then organize the polling process to provide aggregated statistics in the form of <-- NOTE new `x.drb_stats` message, and teach `xamari xlog` to save that messages to <-- NOTE `enb.xlog` together with `stats`. <-- NOTE Then further adjust `amari.kpi.LogMeasure` and generic `kpi.Measurement` and `kpi.Calc` to handle DRB-related data. So here we implement the noted step: - add drv._x_stats_srv server that polls eNB at 100Hz rate, uses Sampler to extract bursts and aggregates information about those bursts. - teach xlog to organize servers for synthetic messages and communicate with them, and register drv._x_stats_srv as such server to handle generation of x.drb_stats message.
Showing