def _report_disk_usage_stats_per_field()

in esrally/reporter.py [0:0]


    def _report_disk_usage_stats_per_field(self, baseline_stats, contender_stats):
        best = {}
        for index, total, field in total_disk_usage_per_field(baseline_stats):
            best.setdefault(index, {})[field] = total
        collated_baseline = collate_disk_usage_stats(baseline_stats)
        for index, total, field in total_disk_usage_per_field(contender_stats):
            for_idx = best.setdefault(index, {})
            prev = for_idx.get(field, 0)
            if prev < total:
                for_idx[field] = total
        collated_contender = collate_disk_usage_stats(contender_stats)
        totals = []
        for index, for_idx in best.items():
            for field, total in for_idx.items():
                totals.append([index, total, field])
        totals.sort()

        lines = []
        for index, _total, field in totals:
            for stat in disk_usage_fields(baseline_stats):
                if index in collated_baseline and index in collated_contender:
                    baseline_value = collated_baseline[index].get(field, {}).get(stat, 0)
                    contender_value = collated_contender[index].get(field, {}).get(stat, 0)
                    if baseline_value == 0 and contender_value == 0:
                        continue
                else:
                    continue
                unit = convert.bytes_to_human_unit(min(baseline_value, contender_value))
                lines.append(
                    self._line(
                        f"{index} {field} {stat}",
                        baseline_value,
                        contender_value,
                        "",
                        unit,
                        treat_increase_as_improvement=False,
                        formatter=partial(convert.bytes_to_unit, unit),
                    )
                )
        return lines