prometheus/model/textparse
zenador 32ee1b15de
Fix error on ingesting out-of-order exemplars (#13021)
Fix and improve ingesting exemplars for native histograms.

See code comment for a detailed explanation of the algorithm.

Note that this changes the current behavior for all kind of samples slightly: We now allow exemplars with the same timestamp as during the last scrape if the value or the labels have changed.

Also note that we now do not ingest exemplars without timestamps for native histograms anymore.

Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>

---------

Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: zenador <zenador@users.noreply.github.com>
Co-authored-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2023-11-16 15:07:37 +01:00
..
interface.go Parse created timestamps from Prometheus Protobuf (#12973) 2023-10-18 19:04:02 +01:00
interface_test.go textparse/scrape: Add option to scrape both classic and native histograms 2023-05-13 01:32:25 +02:00
openmetricslex.l Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
openmetricslex.l.go refactor (package model): move from github.com/pkg/errors to 'errors' and 'fmt' packages (#10747) 2022-06-27 21:29:19 +02:00
openmetricsparse.go Parse created timestamps from Prometheus Protobuf (#12973) 2023-10-18 19:04:02 +01:00
openmetricsparse_test.go Add Exemplars support for all time series 2023-03-03 17:09:17 -08:00
promlex.l refactor (package model): move from github.com/pkg/errors to 'errors' and 'fmt' packages (#10747) 2022-06-27 21:29:19 +02:00
promlex.l.go refactor (package model): move from github.com/pkg/errors to 'errors' and 'fmt' packages (#10747) 2022-06-27 21:29:19 +02:00
promparse.go Parse created timestamps from Prometheus Protobuf (#12973) 2023-10-18 19:04:02 +01:00
promparse_test.go enable gocritic, unconvert and unused linters 2023-04-13 19:20:22 +00:00
promtestdata.nometa.txt Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
promtestdata.txt Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
protobufparse.go Fix error on ingesting out-of-order exemplars (#13021) 2023-11-16 15:07:37 +01:00
protobufparse_test.go Fix error on ingesting out-of-order exemplars (#13021) 2023-11-16 15:07:37 +01:00
README.md Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00

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