code: func NewGaugeFunc(opts GaugeOpts, function func() float64) GaugeFunc {
  	return newValueFunc(NewDesc(
  		BuildFQName(opts.Namespace, opts.Subsystem, opts.Name),
  		opts.Help,
  		nil,
  		opts.ConstLabels,
  	), GaugeValue, function)
  }
docs: // NewGaugeFunc creates a new GaugeFunc based on the provided GaugeOpts. The
  // value reported is determined by calling the given function from within the
  // Write method. Take into account that metric collection may happen
  // concurrently. If that results in concurrent calls to Write, like in the case
  // where a GaugeFunc is directly registered with Prometheus, the provided
  // function must be concurrency-safe.