• Kirill Smelkov's avatar
    amari.{drb,xlog}: Provide aggregated DRB statistics in the form of synthetic x.drb_stats message · 5bf7dc1c
    Kirill Smelkov authored
    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.
    5bf7dc1c
xlog.py 17.6 KB