Skip to content

Conversation

@spiridonov
Copy link
Contributor

@spiridonov spiridonov commented Nov 19, 2025

What this PR does / why we need it:

This PR introduces proper groupings (a list of columns and a mode by/without). Previously it was represented only a s list of columns and without was not supported at all.

  • aggregator is changed to aggregate by an arbitrary variable list of labels. The resulted record will have a union of all columns seen during aggregation.
  • Pushdown optimizations are changed. For example, if a range aggregation has without () we have to read all columns from data objects and nothing can be pushed down.
  • Printers are changed to reflect gropings mode.
  • Proto changes for physical plans.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

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

@spiridonov spiridonov changed the title chore: Aggregation grouping and min/max/avg functions chore: Aggregation groupings for by() and without() Nov 20, 2025
@spiridonov spiridonov marked this pull request as ready for review November 20, 2025 15:42
@spiridonov spiridonov requested a review from a team as a code owner November 20, 2025 15:42
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