MCPcopy
hub / github.com/grafana/tempo / newNativeHistogram

Function newNativeHistogram

modules/generator/registry/native_histogram.go:93–115  ·  view source on GitHub ↗
(name string, buckets []float64, lifecycler Limiter, traceIDLabelName string, histogramOverride HistogramMode, externalLabels map[string]string, tenant string, overrides Overrides, staleDuration time.Duration)

Source from the content-addressed store, hash-verified

91)
92
93func newNativeHistogram(name string, buckets []float64, lifecycler Limiter, traceIDLabelName string, histogramOverride HistogramMode, externalLabels map[string]string, tenant string, overrides Overrides, staleDuration time.Duration) *nativeHistogram {
94 if traceIDLabelName == "" {
95 traceIDLabelName = "traceID"
96 }
97
98 return &nativeHistogram{
99 metricName: name,
100 series: make(map[uint64]*nativeHistogramSeries),
101 seriesDemand: NewCardinality(staleDuration, removeStaleSeriesInterval),
102 lifecycler: lifecycler,
103 traceIDLabelName: traceIDLabelName,
104 buckets: buckets,
105 histogramOverride: histogramOverride,
106 externalLabels: externalLabels,
107 overrides: overrides,
108 tenant: tenant,
109
110 // classic
111 nameCount: fmt.Sprintf("%s_count", name),
112 nameSum: fmt.Sprintf("%s_sum", name),
113 nameBucket: fmt.Sprintf("%s_bucket", name),
114 }
115}
116
117func (h *nativeHistogram) ObserveWithExemplar(lbls labels.Labels, value float64, traceID string, multiplier float64) {
118 hash := lbls.Hash()

Calls 1

NewCardinalityFunction · 0.85