Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: LogQL syntax and AST simplification and cosistency #16028

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

chaudum
Copy link
Contributor

@chaudum chaudum commented Jan 31, 2025

What this PR does / why we need it:

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

This PR contains changes from #16033

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR

The `Walk(f WalkFn)` implementation expects to first visit the current
node and then invoke `Walk(f)` on all its children if they are not
`nil`.

This also fixes the `checkIntervalLimit(syntax.SampleExpr,
time.Duration)` function, which did not visit the expression if it was a
`*ConcatSampleExpr`.

Signed-off-by: Christian Haudum <[email protected]>
@chaudum chaudum force-pushed the chaudum/logql-syntax branch from 0cc6d8f to 76fc4a7 Compare January 31, 2025 21:44
@chaudum chaudum force-pushed the chaudum/logql-syntax branch from 76fc4a7 to df5fb62 Compare February 1, 2025 17:54
goyacc -p $(basename $(notdir $<)) -o $@ $<
sed -i.back '/^\/\/line/ d' $@
rm ${@}.back
goyacc -l -p $(basename $(notdir $<)) -o $@ $<
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-l removes the line comments that are not liked by the goformat linter

@@ -138,7 +138,7 @@ type lexer struct {
builder strings.Builder
}

func (l *lexer) Lex(lval *exprSymType) int {
func (l *lexer) Lex(lval *syntaxSymType) int {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefix changes from expr to sytnax, because the prefix is declared by the name of the .y file, see yacc target in Makefile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant