Following patchset implements a measurement results alignment required
for more complex measurement scenarios where a delay between starting
the first and last measurements can result in counting in data that are
not relevant.
The approach is quite simple. Every class that inherit from
BaseMeasurementResults can override align_data method that should return
a copy of the class with measurement data aligned within a time.
The patchset extends only the FlowMeasurementResults and
StatCPUMeasurementResults classes so that most of the ENRT recipes can
benefit from this change.
Jan Tluka (9):
Tests.CPUStatMonitor: add timestamp into measured interval
RecipeCommon.Perf.Results.PerfInterval: add timestamp property
RecipeCommon.Perf.Measurements.StatCPUMeasurementResults: add
start_timestamp and end_timestamp property
RecipeCommon.Perf.Measurements.FlowMeasurementResults: add
start_timestamp and end_timestamp properties
RecipeCommon.Perf.Measurements.BaseMeasurement: add align_data method
RecipeCommon.Perf.Measurements.BaseFlowMeasurement: override
align_data method
RecipeCommon.Perf.Measurements.StatCPUMeasurement: override align_data
method
RecipeCommon.Perf.Recipe: keep both aggregated and individual results
lnst.RecipeCommon.Perf.Recipe: report and evaluate aligned results
.../Perf/Measurements/BaseFlowMeasurement.py | 41 +++++++++++++++
.../Perf/Measurements/BaseMeasurement.py | 3 ++
.../Perf/Measurements/IperfFlowMeasurement.py | 10 ++--
.../Perf/Measurements/StatCPUMeasurement.py | 32 ++++++++++--
lnst/RecipeCommon/Perf/Recipe.py | 51 ++++++++++++++++---
lnst/RecipeCommon/Perf/Results.py | 7 ++-
lnst/Tests/CPUStatMonitor.py | 1 +
7 files changed, 131 insertions(+), 14 deletions(-)
--
2.26.2