code: func (r *Rate) Snapshot() float64 {
  	now := time.Now().UnixNano()
  	dur := time.Duration(now - atomic.SwapInt64(&r.time, now))
  	return r.count.Snapshot() / dur.Seconds() * r.unit
  }
docs: // Snapshot returns the number of values per second since the last snapshot,
  // and reset the count to zero.