code: def check_status_and_get_events(self):
          # pylint: disable=too-many-branches
          
          statistics = {}
          events = []
          for daemon_link in self.all_daemons_links:
              if daemon_link == self.arbiter_link:
                  # I exclude myself from the polling, sure I am reachable ;)
                  continue
  
              if not daemon_link.active:
                  # I exclude the daemons that are not active
                  continue
  
              try:
                  # Do not get the details to avoid overloading the communication
                  daemon_link.statistics = daemon_link.get_daemon_stats(details=False)
                  if daemon_link.statistics:
                      daemon_link.statistics['_freshness'] = int(time.time())
                      statistics[daemon_link.name] = daemon_link.statistics
                      logger.debug("Daemon %s statistics: %s",
                                   daemon_link.name, daemon_link.statistics)
              except LinkError:
                  logger.warning("Daemon connection failed, I could not get statistics.")
  
              try:
                  got = daemon_link.get_events()
                  if got:
                      events.extend(got)
                      logger.debug("Daemon %s has %d events: %s", daemon_link.name, len(got), got)
              except LinkError:
                  logger.warning("Daemon connection failed, I could not get events.")
  
          return events
docs: Get all the daemons status
  
  
          :return: Dictionary with all the daemons returned information
          :rtype: dict