• Kirill Smelkov's avatar
    kpi: Calc: Add support for E-UTRAN IP Throughput KPI · 2824f50d
    Kirill Smelkov authored
    This patch provides the final building block for E-UTRAN IP Throughput KPI.
    It continues
    
        d102ffaa (drb: Start of the package)
        5bf7dc1c (amari.{drb,xlog}: Provide aggregated DRB statistics in the form of synthetic x.drb_stats message)
        499a7c1b (amari.kpi: Teach LogMeasure to handle x.drb_stats messages)
    
    Quoting those patches
    
        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
        new `x.drb_stats` message, and teach `xamari xlog` to save that messages to
        `enb.xlog` together with `stats`.
    
        Then further adjust `amari.kpi.LogMeasure` and generic `kpi.Measurement`
        and `kpi.Calc` to handle DRB-related data.						<-- NOTE
    
    So here we implement that last noted step:
    
    We add Calc.eutran_ip_throughput() whose implementation is relatively
    straightforward as the hard part is done by amari.drb and amari.kpi - in the
    Calc we basically need to only divide provided DRB.IPVolDl / DRB.IPTimeDl.
    2824f50d
kpi.py 28.2 KB