registry.go
func (r *Registry) Register(name string, tags []string, v interface{}) {
	switch v.(type) {
	case Discrete, Sample:
		key := MetricID(name, tags)
		r.mutex.Lock()
		r.instruments[key] = v
		r.mutex.Unlock()
	}
}
func (r *Registry) Register(name string, tags []string, v interface{}) {
	switch v.(type) {
	case Discrete, Sample:
		key := MetricID(name, tags)
		r.mutex.Lock()
		r.instruments[key] = v
		r.mutex.Unlock()
	}
}
// Register registers a new instrument.