def merge()

in variance-analysis/mach_perftest_notebook_dev/perftestnotebook/customtransforms/custom_replicate_retriever.py [0:0]


    def merge(self, data):
        # Merge data from all subtests
        grouped_data = {}
        for entry in data:
            subtest = entry["subtest"]
            if subtest not in grouped_data:
                grouped_data[subtest] = []
            grouped_data[subtest].append(entry)

        merged_data = []
        for subtest in grouped_data:
            data = [(entry["xaxis"], entry["data"]) for entry in grouped_data[subtest]]

            dsorted = sorted(data, key=lambda t: t[0])

            merged = {"data": [], "xaxis": []}
            for xval, val in dsorted:
                merged["data"].extend(val)
                merged["xaxis"].extend(xval)
            merged["subtest"] = subtest

            merged_data.append(merged)

        self.entry_number = 0
        return merged_data