Re: [PATCH v3 4/4] rteval: cyclictest.py: Skip statistics reporting in case of an overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi John,

John Kacur <jkacur@xxxxxxxxxx> writes:

> On Mon, 18 Oct 2021, Punit Agrawal wrote:
>
>> From: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx>
>> 
>> The cyclictest.py module recently gained the capability to parse max
>> latency values as reported by cyclictest.
>> 
>> When the max latency exceeds the range of the latency histogram (or in
>> other words, the number of configured buckets), statistics such as
>> mean and standard deviation can not be calculated correctly due to
>> lost samples during measurement.
>> 
>> In the case of lost samples, skip statistics generation and report the
>> max latency warning the user to rerun the measurement.
>> 
>> Signed-off-by: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx>
>> ---
>>  rteval/modules/measurement/cyclictest.py | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
>> 
>> diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
>> index 50a734c75047..7a619dd1c852 100644
>> --- a/rteval/modules/measurement/cyclictest.py
>> +++ b/rteval/modules/measurement/cyclictest.py
>> @@ -67,6 +67,9 @@ class RunData:
>>          retval += "mean:       %f\n" % self.__mean
>>          return retval
>>  
>> +    def get_max(self):
>> +        return self.__max
>> +
>>      def update_max(self, value):
>>          if value > self.__max:
>>              self.__max = value
>> @@ -423,6 +426,13 @@ class Cyclictest(rtevalModulePrototype):
>>          if abrt:
>>              rep_n.addChild(abrt_n)
>>  
>> +        # Let the user know if max latency overshot the number of buckets
>> +        if self.__cyclicdata["system"].get_max() > self.__buckets:
>> +            self._log(Log.ERR, "Max latency(%dus) exceeded histogram range(%dus). Skipping statistics" %
>> +                      (self.__cyclicdata["system"].get_max(), self.__buckets))
>> +            self._log(Log.ERR, "Increase number of buckets to avoid lost samples")
>> +            return rep_n
>> +
>>          rep_n.addChild(self.__cyclicdata["system"].MakeReport())
>>          for thr in self.__cpus:
>>              if str(thr) not in self.__cyclicdata:
>> -- 
>> 2.33.0
>> 
>> 
> Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>

Thank you for picking this and other patches in the set.

Let me know if you had any comments on the first patch.

Thanks,
Punit



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux