code: func (cm *CheckManager) Initialize() {
  
  	// if not managing the check, quicker initialization
  	if !cm.enabled {
  		err := cm.initializeTrapURL()
  		if err == nil {
  			cm.initializedmu.Lock()
  			cm.initialized = true
  			cm.initializedmu.Unlock()
  		} else {
  			cm.Log.Printf("[WARN] error initializing trap %s", err.Error())
  		}
  		return
  	}
  
  	// background initialization when we have to reach out to the api
  	go func() {
  		cm.apih.EnableExponentialBackoff()
  		err := cm.initializeTrapURL()
  		if err == nil {
  			cm.initializedmu.Lock()
  			cm.initialized = true
  			cm.initializedmu.Unlock()
  		} else {
  			cm.Log.Printf("[WARN] error initializing trap %s", err.Error())
  		}
  		cm.apih.DisableExponentialBackoff()
  	}()
  }
docs: // Initialize for sending metrics