def summarize_run_history(self) -> list[RunHistory]:
        """Summarize the run history of a model.

        The summarization includes the columns of model_id, parent_model_id, from_pass, duration, metrics
        """
        rls = []
        for model_id, node in self.nodes.items():
            # get the run duration between current model and its parent model
            if node.parent_model_id is not None:
                duration = max(node.end_time - node.start_time, 0)
            else:
                duration = None
            run_history = RunHistory(
                model_id=model_id,
                parent_model_id=node.parent_model_id,
                from_pass=node.from_pass,
                duration_sec=duration,
                metrics=str(node.metrics.value) if node.metrics else None,
            )
            rls.append(run_history)
        return rls
Summarize the run history of a model.

        The summarization includes the columns of model_id, parent_model_id, from_pass, duration, metrics
        
olive/engine/footprint.py