code: def _GetStatus(self):
      
      if self._analysis_mediator:
        number_of_produced_event_tags = (
            self._analysis_mediator.number_of_produced_event_tags)
        number_of_produced_reports = (
            self._analysis_mediator.number_of_produced_analysis_reports)
      else:
        number_of_produced_event_tags = None
        number_of_produced_reports = None
  
      if self._process_information:
        used_memory = self._process_information.GetUsedMemory() or 0
      else:
        used_memory = 0
  
      if self._memory_profiler:
        self._memory_profiler.Sample('main', used_memory)
  
      status = {
          'display_name': '',
          'identifier': self._name,
          'number_of_consumed_event_tags': None,
          'number_of_consumed_events': self._number_of_consumed_events,
          'number_of_consumed_reports': None,
          'number_of_consumed_sources': None,
          'number_of_consumed_warnings': None,
          'number_of_produced_event_tags': number_of_produced_event_tags,
          'number_of_produced_events': None,
          'number_of_produced_reports': number_of_produced_reports,
          'number_of_produced_sources': None,
          'number_of_produced_warnings': None,
          'processing_status': self._status,
          'task_identifier': None,
          'used_memory': used_memory}
  
      if self._status in (
          definitions.STATUS_INDICATOR_ABORTED,
          definitions.STATUS_INDICATOR_COMPLETED):
        self._foreman_status_wait_event.set()
  
      return status
docs: Retrieves status information.
  
      Returns:
        dict[str, object]: status attributes, indexed by name.