code: func (e *Endpoint) ReadMetrics(em *EndpointMetrics) {
  	e.metrics.Lock()
  	defer e.metrics.Unlock()
  
  	*em = e.metrics.EndpointMetrics
  	// Map still need to copied in a threadsafe manner.
  	em.Statuses = make(map[string]int)
  	for k, v := range e.metrics.Statuses {
  		em.Statuses[k] = v
  	}
  }
docs: // ReadMetrics populates em with metrics from the endpoint.