parameters: (self, summary_dict)
docstring: constructor for BottleneckAnalyzer
docstring_summary: constructor for BottleneckAnalyzer
docstring_tokens: constructor for BottleneckAnalyzer
function: def __init__(self, summary_dict):
          """ constructor for BottleneckAnalyzer """
          self.pipeline_ops = summary_dict["pipeline_ops"]
          self.op_names = summary_dict["op_names"]
          self.op_ids = summary_dict["op_ids"]
          self.num_workers = summary_dict["num_workers"]
          self.queue_average_size = summary_dict["queue_average_size"]
          self.queue_utilization_pct = summary_dict["queue_utilization_pct"]
          self.queue_empty_freq_pct = summary_dict["queue_empty_freq_pct"]
          self.children_ids = summary_dict["children_ids"]
          self.parent_id = summary_dict["parent_id"]
          self.avg_cpu_pct = summary_dict["avg_cpu_pct"]
          self.avg_cpu_pct_per_worker = summary_dict["avg_cpu_pct_per_worker"]
  
          self.op_id_not_exist = -1
          self.queue_usage_not_exist = -1
          self.non_multithreaded_ops = set(["Barrier",
                                            "Concat",
                                            "EpochCtrl",
                                            "Rename",
                                            "Repeat",
                                            "Shuffle",
                                            "Skip",
                                            "Take",
                                            "Zip"])
  
          # These are the threshold values used in the pipeline bottleneck analyzer algorithm
          self._AVG_CPU_UTIL_PCT_PER_WORKER_MAXIMUM = 75.0
          self._AVG_CPU_UTIL_PCT_PER_WORKER_MINIMUM = 20.0
          self._LEAF_OUTPUT_QUEUE_EMPTY_FREQ_PCT_MAXIMUM = 50
          self._DEVICEQUEUE_INPUT_QUEUE_EMPTY_FREQ_PCT_MAXIMUM = 60
          self._IN_OUT_QUEUE_UTIL_PCT_DIFF_MAXIMUM = 50
          self._IN_QUEUE_UTIL_PCT_MAXIMUM = 10
function_tokens: def __init__ ( self , summary_dict ) : self . pipeline_ops = summary_dict [ "pipeline_ops" ] self . op_names = summary_dict [ "op_names" ] self . op_ids = summary_dict [ "op_ids" ] self . num_workers = summary_dict [ "num_workers" ] self . queue_average_size = summary_dict [ "queue_average_size" ] self . queue_utilization_pct = summary_dict [ "queue_utilization_pct" ] self . queue_empty_freq_pct = summary_dict [ "queue_empty_freq_pct" ] self . children_ids = summary_dict [ "children_ids" ] self . parent_id = summary_dict [ "parent_id" ] self . avg_cpu_pct = summary_dict [ "avg_cpu_pct" ] self . avg_cpu_pct_per_worker = summary_dict [ "avg_cpu_pct_per_worker" ] self . op_id_not_exist = - 1 self . queue_usage_not_exist = - 1 self . non_multithreaded_ops = set ( [ "Barrier" , "Concat" , "EpochCtrl" , "Rename" , "Repeat" , "Shuffle" , "Skip" , "Take" , "Zip" ] ) # These are the threshold values used in the pipeline bottleneck analyzer algorithm self . _AVG_CPU_UTIL_PCT_PER_WORKER_MAXIMUM = 75.0 self . _AVG_CPU_UTIL_PCT_PER_WORKER_MINIMUM = 20.0 self . _LEAF_OUTPUT_QUEUE_EMPTY_FREQ_PCT_MAXIMUM = 50 self . _DEVICEQUEUE_INPUT_QUEUE_EMPTY_FREQ_PCT_MAXIMUM = 60 self . _IN_OUT_QUEUE_UTIL_PCT_DIFF_MAXIMUM = 50 self . _IN_QUEUE_UTIL_PCT_MAXIMUM = 10