code: func (ethash *Ethash) Hashrate() float64 {
  	// Short circuit if we are run the ethash in normal/test mode.
  	if ethash.config.PowMode != ModeNormal && ethash.config.PowMode != ModeTest {
  		return ethash.hashrate.Rate1()
  	}
  	var res = make(chan uint64, 1)
  
  	select {
  	case ethash.fetchRateCh <- res:
  	case <-ethash.exitCh:
  		// Return local hashrate only if ethash is stopped.
  		return ethash.hashrate.Rate1()
  	}
  
  	// Gather total submitted hash rate of remote sealers.
  	return ethash.hashrate.Rate1() + float64(<-res)
  }
docs: // Hashrate implements PoW, returning the measured rate of the search invocations
  // per second over the last minute.
  // Note the returned hashrate includes local hashrate, but also includes the total
  // hashrate of all remote miner.