code: func (s *ExpDecaySample) Snapshot() Sample {
  	s.mutex.Lock()
  	defer s.mutex.Unlock()
  	vals := s.values.Values()
  	values := make([]int64, len(vals))
  	for i, v := range vals {
  		values[i] = v.v
  	}
  	return &SampleSnapshot{
  		count:  s.count,
  		values: values,
  	}
  }
docs: // Snapshot returns a read-only copy of the sample.