code: func (d *Discovery) getDatacenter() error {
  	// If the datacenter was not set from clientConf, let's get it from the local Consul agent
  	// (Consul default is to use local node's datacenter if one isn't given for a query).
  	if d.clientDatacenter != "" {
  		return nil
  	}
  
  	info, err := d.client.Agent().Self()
  	if err != nil {
  		level.Error(d.logger).Log("msg", "Error retrieving datacenter name", "err", err)
  		rpcFailuresCount.Inc()
  		return err
  	}
  
  	dc, ok := info["Config"]["Datacenter"].(string)
  	if !ok {
  		err := errors.Errorf("invalid value '%v' for Config.Datacenter", info["Config"]["Datacenter"])
  		level.Error(d.logger).Log("msg", "Error retrieving datacenter name", "err", err)
  		return err
  	}
  
  	d.clientDatacenter = dc
  	return nil
  }
docs: // Get the local datacenter if not specified.