docs: def _get_slave_status(self, db, above_560, nonblocking):
          """
          Retrieve the slaves' statuses using:
          1. The `performance_schema.threads` table. Non-blocking, requires version > 5.6.0
          2. The `information_schema.processlist` table. Blocking
          """
          try:
              with closing(db.cursor()) as cursor:
                  if above_560 and nonblocking:
                      # Query `performance_schema.threads` instead of `
                      # information_schema.processlist` to avoid mutex impact on performance.
                      cursor.execute("SELECT THREAD_ID, NAME FROM performance_schema.threads WHERE NAME LIKE '%worker'")
                  else:
                      cursor.execute("SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND LIKE '%Binlog dump%'")
                  slave_results = cursor.fetchall()
                  slaves = 0
                  for _ in slave_results:
                      slaves += 1
  
                  return {'Slaves_connected': slaves}
  
          except (pymysql.err.InternalError, pymysql.err.OperationalError) as e:
              self.warning("Privileges error accessing the process tables (must grant PROCESS): %s" % str(e))
              return {}