feat: add ability to parse promql with grafana templates inside #15
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.
Hello!
I'm writing a script, which can download grafana dashboard, patch promql expressions (add some labels, rename labels, etc),
and push it back to grafana.
For parsing promql I'm using the lexer, and while doing some tests I faced the problem:
at some dashboards promql expressions contain grafana templates.
here is an example of the expression:
vault_route_create_${mountpoint}_{quantile="0.99"}
and it made a problem while parsing it, because the Metrics regex doesn't contain an expression to parse strings inside
${}
symbols.So, the little fix adds the ability to parse promql expressions that contain grafana templates inside.
P.S. While making the changes I found that the tests is not using local PromQLLexer class, so I added a new test, which is testing the new changes, with new test cases.