type PrometheusTimingHistogram … type TimingHistogram … var _ … var _ … var _ … // NewTimingHistogram returns an object which is TimingHistogram-like. However, nothing // will be measured until the histogram is registered somewhere. func NewTimingHistogram(opts *TimingHistogramOpts) *TimingHistogram { … } // NewTestableTimingHistogram adds injection of the clock func NewTestableTimingHistogram(nowFunc func() time.Time, opts *TimingHistogramOpts) *TimingHistogram { … } // setPrometheusHistogram sets the underlying KubeGauge object, i.e. the thing that does the measurement. func (h *TimingHistogram) setPrometheusHistogram(histogram promext.TimingHistogram) { … } // DeprecatedVersion returns a pointer to the Version or nil func (h *TimingHistogram) DeprecatedVersion() *semver.Version { … } // initializeMetric invokes the actual prometheus.Histogram object instantiation // and stores a reference to it func (h *TimingHistogram) initializeMetric() { … } // initializeDeprecatedMetric invokes the actual prometheus.Histogram object instantiation // but modifies the Help description prior to object instantiation. func (h *TimingHistogram) initializeDeprecatedMetric() { … } // WithContext allows the normal TimingHistogram metric to pass in context. The context is no-op now. func (h *TimingHistogram) WithContext(ctx context.Context) GaugeMetric { … } type TimingHistogramVec … var _ … var _ … var _ … // NewTimingHistogramVec returns an object which satisfies the kubeCollector, Registerable, and GaugeVecMetric interfaces // and wraps an underlying promext.TimingHistogramVec object. Note well the way that // behavior depends on registration and whether this is hidden. func NewTimingHistogramVec(opts *TimingHistogramOpts, labels []string) *TimingHistogramVec { … } // NewTestableTimingHistogramVec adds injection of the clock. func NewTestableTimingHistogramVec(nowFunc func() time.Time, opts *TimingHistogramOpts, labels []string) *TimingHistogramVec { … } // DeprecatedVersion returns a pointer to the Version or nil func (v *TimingHistogramVec) DeprecatedVersion() *semver.Version { … } func (v *TimingHistogramVec) initializeMetric() { … } func (v *TimingHistogramVec) initializeDeprecatedMetric() { … } // WithLabelValuesChecked, if called before this vector has been registered in // at least one registry, will return a noop gauge and // an error that passes ErrIsNotRegistered. // If called on a hidden vector, // will return a noop gauge and a nil error. // If called with a syntactic problem in the labels, will // return a noop gauge and an error about the labels. // If none of the above apply, this method will return // the appropriate vector member and a nil error. func (v *TimingHistogramVec) WithLabelValuesChecked(lvs ...string) (GaugeMetric, error) { … } // WithLabelValues calls WithLabelValuesChecked // and handles errors as follows. // An error that passes ErrIsNotRegistered is ignored // and the noop gauge is returned; // all other errors cause a panic. func (v *TimingHistogramVec) WithLabelValues(lvs ...string) GaugeMetric { … } // WithChecked, if called before this vector has been registered in // at least one registry, will return a noop gauge and // an error that passes ErrIsNotRegistered. // If called on a hidden vector, // will return a noop gauge and a nil error. // If called with a syntactic problem in the labels, will // return a noop gauge and an error about the labels. // If none of the above apply, this method will return // the appropriate vector member and a nil error. func (v *TimingHistogramVec) WithChecked(labels map[string]string) (GaugeMetric, error) { … } // With calls WithChecked and handles errors as follows. // An error that passes ErrIsNotRegistered is ignored // and the noop gauge is returned; // all other errors cause a panic. func (v *TimingHistogramVec) With(labels map[string]string) GaugeMetric { … } // Delete deletes the metric where the variable labels are the same as those // passed in as labels. It returns true if a metric was deleted. // // It is not an error if the number and names of the Labels are inconsistent // with those of the VariableLabels in Desc. However, such inconsistent Labels // can never match an actual metric, so the method will always return false in // that case. func (v *TimingHistogramVec) Delete(labels map[string]string) bool { … } // Reset deletes all metrics in this vector. func (v *TimingHistogramVec) Reset() { … } // WithContext returns wrapped TimingHistogramVec with context func (v *TimingHistogramVec) InterfaceWithContext(ctx context.Context) GaugeVecMetric { … } type TimingHistogramVecWithContext …