(hash uint64, s *nativeHistogramSeries, value float64, traceID string, multiplier float64)
| 191 | } |
| 192 | |
| 193 | func (h *nativeHistogram) updateSeries(hash uint64, s *nativeHistogramSeries, value float64, traceID string, multiplier float64) { |
| 194 | // Use Prometheus native exemplar handling |
| 195 | exemplarObserver := s.promHistogram.(prometheus.ExemplarObserver) |
| 196 | |
| 197 | labels := prometheus.Labels{h.traceIDLabelName: traceID} |
| 198 | |
| 199 | for i := 0.0; i < multiplier; i++ { |
| 200 | // Let Prometheus handle exemplars natively |
| 201 | exemplarObserver.ObserveWithExemplar(value, labels) |
| 202 | } |
| 203 | |
| 204 | s.lastUpdated = time.Now().UnixMilli() |
| 205 | h.lifecycler.OnUpdate(hash, h.activeSeriesPerHistogramSerie()) |
| 206 | } |
| 207 | |
| 208 | func (h *nativeHistogram) name() string { |
| 209 | return h.metricName |
no test coverage detected