class_docstr: Analyse time ranges for each TracerEventType, and summarize the time.
code: def add_userdefined_item(self, userdefined_node):
      if userdefined_node.name not in self.userdefined_items:
          self.userdefined_items[userdefined_node.name] = GeneralItem(
              userdefined_node.name
          )
      self.userdefined_items[userdefined_node.name].add_item(
          userdefined_node
      )
  
imports: import collections
  from .utils import merge_ranges
  from .utils import merge_self_ranges
  from .utils import rebuild_node_trees
  from .utils import sum_ranges
  from .utils import traverse_tree
label_desc: Use image node_id 5 for calling the OverviewParser obj's underlying member method code with example usage: obj.add_userdefined_item(userdefined_node) without return types