code: def start_workunit(self, workunit):
      
  
      workunit_data = {
        'name': workunit.name,
        'id': str(workunit.id),
        'parent_name': workunit.parent.name if workunit.parent else '',
        'parent_id': str(workunit.parent.id) if workunit.parent else '',
        'labels': list(workunit.labels),
        'cmd': workunit.cmd or '',
        'start_time': workunit.start_time,
        'outputs': defaultdict(str),
        'children': [],
        'log_entries': [],
      }
  
      root_id = str(workunit.root().id)
  
      if not root_id in self._root_id_to_workunit_stack:
        self._root_id_to_workunit_stack[root_id].append(workunit_data)
        self.results[root_id] = workunit_data
      else:
        self._root_id_to_workunit_stack[root_id][-1]['children'].append(workunit_data)
        self._root_id_to_workunit_stack[root_id].append(workunit_data)
docs: Implementation of Reporter callback.