code: func (w *wizard) networkStats() {
  	if len(w.servers) == 0 {
  		log.Info("No remote machines to gather stats from")
  		return
  	}
  	// Clear out some previous configs to refill from current scan
  	w.conf.ethstats = ""
  	w.conf.bootnodes = w.conf.bootnodes[:0]
  
  	// Iterate over all the specified hosts and check their status
  	var pend sync.WaitGroup
  
  	stats := make(serverStats)
  	for server, pubkey := range w.conf.Servers {
  		pend.Add(1)
  
  		// Gather the service stats for each server concurrently
  		go func(server string, pubkey []byte) {
  			defer pend.Done()
  
  			stat := w.gatherStats(server, pubkey, w.servers[server])
  
  			// All status checks complete, report and check next server
  			w.lock.Lock()
  			defer w.lock.Unlock()
  
  			delete(w.services, server)
  			for service := range stat.services {
  				w.services[server] = append(w.services[server], service)
  			}
  			stats[server] = stat
  		}(server, pubkey)
  	}
  	pend.Wait()
  
  	// Print any collected stats and return
  	stats.render()
  }
docs: // networkStats verifies the status of network components and generates a protip
  // configuration set to give users hints on how to do various tasks.