Fix the parsing of threshold name tags containing tokens #2515
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@efdknittlfrank pointed out that v0.38.0 presented a bug when thresholds were defined following the URL grouping documentation.
Indeed, using colons and curly braces inside a thresholds tags definition would confuse the parser, and
lead to an unclear error message. This PR modifies the parser to handle curly braces and colons accordingly to the pointed out use case. Namely, the parser makes fewer assumptions as to the tags definitions' content, and allows for a wider range of symbols that would have conflicted with the parsing before
{
,}
,:
.A threshold expression such as
http_req_duration{name:http://${}.com}
is now valid.Notable changes:
braces, we extract the whole definition's substring based on that.
closes #2512