code: func (m *Metrics) checkConn() error {
  	if m.statsdClient != nil {
  		return nil
  	}
  	var err error
  	// We needn't try to renew/reconnect because of only supporting UDP protocol now
  	// We should add an `errorCount` to reconnect when implementing TCP protocol
  	if m.statsdClient, err = statsdlib.New(m.StatsdAddr, statsdlib.WithErrorHandler(func(err error) {
  		log.Errorf("[statsd] Sending statsd failed: %v", err)
  	})); err != nil {
  		log.Errorf("[statsd] Connect statsd failed: %v", err)
  		return err
  	}
  	return nil
  }
docs: // Lazy connect