code: func (f *Factory) Timer(options metrics.TimerOptions) metrics.Timer {
  	help := strings.TrimSpace(options.Help)
  	if len(help) == 0 {
  		help = options.Name
  	}
  	name := f.subScope(options.Name)
  	tags := f.mergeTags(options.Tags)
  	labelNames := f.tagNames(tags)
  	opts := prometheus.HistogramOpts{
  		Name:    name,
  		Help:    help,
  		Buckets: asFloatBuckets(options.Buckets),
  	}
  	hv := f.cache.getOrMakeHistogramVec(opts, labelNames)
  	return &timer{
  		histogram: hv.WithLabelValues(f.tagsAsLabelValues(labelNames, tags)...),
  	}
  }
docs: // Timer implements Timer of metrics.Factory.