Commit graph

65 commits

Author SHA1 Message Date
Manik Rana 65e2afd6a9 fix: remove skipCT check from tBraceOpen
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-07 17:22:45 +05:30
Manik Rana 900c127278 fix: return error instead of nil
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-07 16:39:46 +05:30
Manik Rana 8ccc9afa2a refac: improve error handling
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-07 16:07:56 +05:30
Manik Rana d4f13f6604
chore: comments
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Manik Rana <Manikrana54@gmail.com>
2024-08-06 11:36:43 +05:30
Manik Rana 3e66526214 chore: comments
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-06 11:01:35 +05:30
Manik Rana e372021a55 refac: extract skipCTSeries logic from parseMetricSuffix
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-06 10:41:51 +05:30
Manik Rana af0481f4be chore: lint
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 22:21:13 +05:30
Manik Rana 50c2d2ce69 refac: remove NewOpenMetricsParserWithOpts
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 22:18:28 +05:30
Manik Rana e4a9124db0
chore: comments
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Manik Rana <Manikrana54@gmail.com>
2024-08-05 22:05:36 +05:30
Manik Rana debe023afa chore: comments and readability updates
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 21:38:05 +05:30
Manik Rana 49bf90c897 chore: formatting
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 15:29:27 +05:30
Manik Rana d80bab7705 refac: rename skipCT to skipCTSeries
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 15:24:10 +05:30
Manik Rana 6d0144c16d refac: default skipCT to false
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-08-05 15:20:13 +05:30
Manik Rana 4a3e8d13ad chore: rename var
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-18 17:33:08 +05:30
Manik Rana d0d82e5d16
chore: comments
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com>
Signed-off-by: Manik Rana <Manikrana54@gmail.com>
2024-07-18 17:31:41 +05:30
Manik Rana 72acd0c58f chore: lint
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-17 19:30:23 +05:30
Manik Rana 0572ddc1c0 fix: add NewMetricsParserWithOpts
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-17 19:26:42 +05:30
Manik Rana 3d6b522aca fix: use p.builder in deepCopy
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-15 13:51:31 +05:30
Manik Rana 14394fb466 chore: add new label in deepCopy
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-15 13:47:13 +05:30
Manik Rana 36e87385cb chore: comments
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana e9a0619ede chore: lint
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana e6f6165c9b chore: remove mName
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 0d7ac7caf5 chore: add tests and lint fixes
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana b225050b68 refac: optimize CreatedTimestamp()
- Use refactored CreatedTimestamp function with bug fixes
 - Remove unused code in labels.go
 - Improve code documentation

 Signed-off-by: Manik Rana <manikrana54@gmail.com>

Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana f62664a8e9 feat: document CreatedTimestamp func
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana b768e24e26 refac: dedeuplicate labeldiff checks
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana c4b2a14590 refac: readability updates
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 84bc9d6c3f fix: cover edgecase of gauge_created in CreatedTimestamp()
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana e9391dd61f feat: document deepcopyparser
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com>
Signed-off-by: Manik Rana <Manikrana54@gmail.com>
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 9c4bc807be fix: comments
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 8ea8352fdc chore: cleanup
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana e37930d973 chore: update go fmt version
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 4102f415d3 fix: return nil when mtype doesn't match
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 96e850df7e feat: advance parser and parse histograms + summary
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana ea9c8cb5a3 fix: check if err from p.Next()
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana e841e00eed feat: multiple changes
- implement changes from pair programming session
- use newParse.val()
- advance parser p if ct is found

Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 188d4cc927 chore: add comments
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 03f2a90394 feat: return ct after finding it
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Manik Rana 7e8899241a feat: initial implement of createedTimestamp() with tests
Signed-off-by: Manik Rana <manikrana54@gmail.com>
2024-07-12 00:48:36 +05:30
Ondrej Kokes 2e30f1231b docs: textparse.Parser return type mismatch
The docs suggest the Next method returns a bool, but that's not the case (`Entry` is an int).

```
	// Next advances the parser to the next sample. It returns false if no
	// more samples were read or an error occurred.
	Next() (Entry, error)
```

The docs were first added in d80a3de235 in 2017. Back then the signature was
indeed `func (p *Parser) Next() bool`. But then it got refactored in 76a4a46cb0
and the signature changed with it, yet docs stayed the same - and eventually made their way into the `Parser` interface.

However, the Protobuf parser does have the right wording: 5de2df752f

```
// Next advances the parser to the next "sample" (emulating the behavior of a
// text format parser). It returns (EntryInvalid, io.EOF) if no samples were
// read.
```

Changing all other implementations (and the interface itself) to match this doc.

Signed-off-by: Ondrej Kokes <ondrej.kokes@gmail.com>
2024-02-29 16:45:05 +01:00
Bryan Boreham eff3a13e19 model/textparse: parsers take a labels SymbolTable
This allows strings to be interned to save memory.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-02-26 11:45:25 +00:00
Owen Williams a28d7865ad UTF-8: Add support for parsing UTF8 metric and label names
This adds support for the new grammar of `{"metric_name", "l1"="val"}` to promql and some of the exposition formats.
This grammar will also be valid for non-UTF-8 names.
UTF-8 names will not be considered valid unless model.NameValidationScheme is changed.

This does not update the go expfmt parser in text_parse.go, which will be addressed by https://github.com/prometheus/common/issues/554/.

Part of https://github.com/prometheus/prometheus/issues/13095

Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-02-15 14:34:37 -05:00
Björn Rabenstein 3db4596965
Merge pull request #13299 from vesari/add-unit-parser
protobuf: add unit parser
2024-01-09 14:47:50 +01:00
Bryan Boreham c83e1fc574 textparse: remove MetricType alias
No backwards-compatibility; make a clean break.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2023-12-19 18:56:54 +00:00
Bryan Boreham 8065bef172 Move metric type definitions to common/model
They are used in multiple repos, so common is a better place for them.
Several packages now don't depend on `model/textparse`, e.g.
`storage/remote`.

Also remove `metadata` struct from `api.go`, since it was identical to
a struct in the `metadata` package.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2023-12-19 18:56:54 +00:00
Arianna Vespri 3d6a92a25e Merge remote-tracking branch 'prometheus/main' into add-unit-parser 2023-12-17 14:11:55 +01:00
Arianna Vespri 5d5acf5744 Add unit protobuf parser
Signed-off-by: Arianna Vespri <arianna.vespri@yahoo.it>
2023-12-12 12:40:08 +01:00
Arthur Silva Sens 5082655392
Append Created Timestamps (#12733)
* Append created timestamps.

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>

* Log when created timestamps are ignored

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>

* Proposed changes to Append CT PR.

Changes:

* Changed textparse Parser interface for consistency and robustness.
* Changed CT interface to be more explicit and handle validation.
* Simplified test, change scrapeManager to allow testability.
* Added TODOs.

Signed-off-by: bwplotka <bwplotka@gmail.com>

* Updates.

Signed-off-by: bwplotka <bwplotka@gmail.com>

* Addressed comments.

Signed-off-by: bwplotka <bwplotka@gmail.com>

* Refactor head_appender test

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>

* Fix linter issues

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>

* Use model.Sample in head appender test

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>

---------

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
Signed-off-by: bwplotka <bwplotka@gmail.com>
Co-authored-by: bwplotka <bwplotka@gmail.com>
2023-12-11 08:43:42 +00:00
Arthur Silva Sens ef8e6ae780
Parse created timestamps from Prometheus Protobuf (#12973)
Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2023-10-18 19:04:02 +01:00
Matthieu MOREL 0a513f827d ci(lint): enable errorlint linter on model
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2023-09-29 21:11:33 +00:00