code: func (f *Factory) Counter(options metrics.Options) metrics.Counter {
  	help := strings.TrimSpace(options.Help)
  	if len(help) == 0 {
  		help = options.Name
  	}
  	name := counterNamingConvention(f.subScope(options.Name))
  	tags := f.mergeTags(options.Tags)
  	labelNames := f.tagNames(tags)
  	opts := prometheus.CounterOpts{
  		Name: name,
  		Help: help,
  	}
  	cv := f.cache.getOrMakeCounterVec(opts, labelNames)
  	return &counter{
  		counter: cv.WithLabelValues(f.tagsAsLabelValues(labelNames, tags)...),
  	}
  }
docs: // Counter implements Counter of metrics.Factory.