in collector/receiver/prometheusreceiver/internal/transaction.go [156:184]
func (t *transaction) AppendExemplar(ref storage.SeriesRef, l labels.Labels, e exemplar.Exemplar) (storage.SeriesRef, error) {
select {
case <-t.ctx.Done():
return 0, errTransactionAborted
default:
}
if t.isNew {
if err := t.initTransaction(l); err != nil {
return 0, err
}
}
l = l.WithoutEmpty()
if dupLabel, hasDup := l.HasDuplicateLabelNames(); hasDup {
return 0, fmt.Errorf("invalid sample: non-unique label names: %q", dupLabel)
}
mn := l.Get(model.MetricNameLabel)
if mn == "" {
return 0, errMetricNameNotFound
}
mf := t.getOrCreateMetricFamily(mn)
mf.addExemplar(t.getSeriesRef(l, mf.mtype), e)
return 0, nil
}