mirror of
https://github.com/prometheus/prometheus.git
synced 2026-03-22 10:30:25 -04:00
PR #12557 introduced the possibility of parsing multiple exemplars per native histograms. It did so by requiring the `Exemplar` method of the parser to be called repeatedly until it returns false. However, the protobuf parser code wasn't correctly updated for the old case of a single exemplar for a classic bucket (if actually parsed as a classic bucket) and a single exemplar on a counter. In those cases, the method would return `true` forever, yielding the same exemplar again and again, leading to an endless loop. With this fix, the state is now tracked and the single exemplar is only returned once. Signed-off-by: beorn7 <beorn@grafana.com> |
||
|---|---|---|
| .. | ||
| interface.go | ||
| interface_test.go | ||
| openmetricslex.l | ||
| openmetricslex.l.go | ||
| openmetricsparse.go | ||
| openmetricsparse_test.go | ||
| promlex.l | ||
| promlex.l.go | ||
| promparse.go | ||
| promparse_test.go | ||
| promtestdata.nometa.txt | ||
| promtestdata.txt | ||
| protobufparse.go | ||
| protobufparse_test.go | ||
| README.md | ||
Making changes to textparse lexers
In the rare case that you need to update the textparse lexers, edit promlex.l or openmetricslex.l and then run the following command:
golex -o=promlex.l.go promlex.l
Note that you need golex installed:
go get -u modernc.org/golex