• Kirill Smelkov's avatar
    kpi: Establish data model for DRB.IPLatDl.QCI · 7cd9cb91
    Kirill Smelkov authored
    Since the beginning - since dc1d5481 (kpi: Start of the package)
    DRB.IPLatDl.QCI was introduced only in commented form with the following
    remark:
    
            # XXX mean is not good for our model
            # TODO mean -> total + npkt?
            #('DRB.IPLatDl.QCI',                Ttime),     # s         4.4.5.1  32.450:6.3.2   NOTE not ms
    
    The problem here is that if we introduce DRB.IPLatDl.QCI as just Ttime for
    average latency, and we have two measurements m1 and m2 with such
    DRB.IPLatDl, there is no way to know what DRB.IPLatDl should be
    for aggregated measurement - in the aggregated measurement the latency
    should be the mean time - averaged for combined periods of m1+m2, over
    samples of all transmision bursts. And knowing something already averaged in
    period1 and period2 we can compute the average for aggregated measurement
    only if we know both initial averages _and_ the number of samples in each
    period. That's what the "TODO mean -> total + npkt?" comment was about.
    
    Besides DRB.IPLatDl there are many other values that 3GPP say to be
    mean. For example UE.Active and other values. So there is a need to
    uniformly represent such averages somehow and that there is a way to
    also aggregate the averages for combined measurements.
    
    -> Introduce Stat type, that represents results of statistical profiling
       and use it for DRB.IPLatDl.QCI; Teach Calc.aggregate to handle
       aggregation of such statistical profiles via
    
                a₁⋅n₁ + a₂·n₂
            A = ─────────────
                   n₁ + n₂
    
       formula.
    7cd9cb91
kpi.py 34.1 KB