class_docstr: PerformanceProfiler to analysis the time profiler.
class_docstr_tok: ["PerformanceProfiler","to","analysis","the","time","profiler","."]
code: def get_timing_report(self):
      timeline = (
          self.pipes_profiler[-1].time_out
          - self.pipes_profiler[0].time_in
      )
      timing_list = []
      for p_tracer in self.pipes_profiler:
          timing_list.append(p_tracer.time_out - p_tracer.time_in)
      timing_list.sort()
      total_time = sum(timing_list)
      avg_time = total_time / len(timing_list)
      return (
          round(timeline, 4),
          round(avg_time, 4),
          round(timing_list[-1], 4),
          round(timing_list[0], 4),
      )
  
imports: import json
  from typing import Dict, List
  from tabulate import tabulate
  from copy import deepcopy
  from pathlib import Path
  from towhee.runtime.constants import WindowAllConst
  from towhee.runtime.time_profiler import Event
  from towhee.utils.log import engine_log
label_desc: Use image node_id 4 for calling the PerformanceProfiler obj's underlying member method code with example usage: obj.get_timing_report() and returns: round,  round,  round,  round