(span Span)
| 183 | } |
| 184 | |
| 185 | func (m *MetricsCompare) observeExemplar(span Span) { |
| 186 | st := span.StartTimeUnixNanos() |
| 187 | isSelection := m.isSelection(span, st) |
| 188 | |
| 189 | // Exemplars |
| 190 | if uint32(len(m.baselineExemplars)) >= m.maxExemplars || uint32(len(m.selectionExemplars)) >= m.maxExemplars { |
| 191 | return |
| 192 | } |
| 193 | |
| 194 | all := span.AllAttributes() |
| 195 | lbls := make(Labels, 0, len(all)) |
| 196 | for a, v := range all { |
| 197 | lbls = append(lbls, Label{Name: a.String(), Value: v}) |
| 198 | } |
| 199 | exemplar := Exemplar{ |
| 200 | Labels: lbls, |
| 201 | Value: math.NaN(), // TODO: What value? |
| 202 | TimestampMs: st / uint64(time.Millisecond), |
| 203 | } |
| 204 | if isSelection.Equals(&StaticTrue) { |
| 205 | m.selectionExemplars = append(m.selectionExemplars, exemplar) |
| 206 | } else { |
| 207 | m.baselineExemplars = append(m.baselineExemplars, exemplar) |
| 208 | } |
| 209 | } |
| 210 | |
| 211 | func (m *MetricsCompare) observeSeries(ss []*tempopb.TimeSeries) { |
| 212 | m.seriesAgg.Combine(ss) |
nothing calls this directly
no test coverage detected