docs: def slave_lag(**connection_args):
      '''
      Return the number of seconds that a slave SQL server is lagging behind the
      master, if the host is not a slave it will return -1.  If the server is
      configured to be a slave for replication but slave IO is not running then
      -2 will be returned. If there was an error connecting to the database or
      checking the slave status, -3 will be returned.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' mysql.slave_lag
      '''
      dbc = _connect(**connection_args)
      if dbc is None:
          return -3
      cur = dbc.cursor(MySQLdb.cursors.DictCursor)
      qry = 'show slave status'
      try:
          _execute(cur, qry)
      except MySQLdb.OperationalError as exc:
          err = 'MySQL Error {0}: {1}'.format(*exc.args)
          __context__['mysql.error'] = err
          log.error(err)
          return -3
  
      results = cur.fetchone()
      if cur.rowcount == 0:
          # Server is not a slave if master is not defined.  Return empty tuple
          # in this case.  Could probably check to see if Slave_IO_Running and
          # Slave_SQL_Running are both set to 'Yes' as well to be really really
          # sure that it is a slave.
          return -1
      else:
          if results['Slave_IO_Running'] == 'Yes':
              return results['Seconds_Behind_Master']
          else:
              # Replication is broken if you get here.
              return -2