code: func NewConstHistogram(
  	desc *Desc,
  	count uint64,
  	sum float64,
  	buckets map[float64]uint64,
  	labelValues ...string,
  ) (Metric, error) {
  	if desc.err != nil {
  		return nil, desc.err
  	}
  	if err := validateLabelValues(labelValues, len(desc.variableLabels)); err != nil {
  		return nil, err
  	}
  	return &constHistogram{
  		desc:       desc,
  		count:      count,
  		sum:        sum,
  		buckets:    buckets,
  		labelPairs: makeLabelPairs(desc, labelValues),
  	}, nil
  }
docs: // NewConstHistogram returns a metric representing a Prometheus histogram with
  // fixed values for the count, sum, and bucket counts. As those parameters
  // cannot be changed, the returned value does not implement the Histogram
  // interface (but only the Metric interface). Users of this package will not
  // have much use for it in regular operations. However, when implementing custom
  // Collectors, it is useful as a throw-away metric that is generated on the fly
  // to send it to Prometheus in the Collect method.
  //
  // buckets is a map of upper bounds to cumulative counts, excluding the +Inf
  // bucket.
  //
  // NewConstHistogram returns an error if the length of labelValues is not
  // consistent with the variable labels in Desc or if Desc is invalid.