-
Notifications
You must be signed in to change notification settings - Fork 542
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MQE: add support for
group_left
and group_right
(aka many-to-one …
…and one-to-many matching) (#10119) * Add feature toggle # Conflicts: # cmd/mimir/config-descriptor.json # cmd/mimir/help-all.txt.tmpl # docs/sources/mimir/configure/configuration-parameters/index.md # pkg/streamingpromql/config.go # pkg/streamingpromql/engine_test.go * Enable upstream test cases * Remove comments about and/or/unless. * Add some test cases * Make condition clearer * Add comparison operation edge cases * Add tests for comparison operators with group_left / group_right * Update tests to reflect prometheus/prometheus#15471 * Expand test to confirm label handling behaviour * Rename existing operator * Add structure for new operator * Initial implementation of SeriesMetadata * Initial implementation * Handle case where one set of many-side series many to many output series * Use correct labels when grouping one side series * Return a conflict error message if there are multiple samples at the same timestamp on the same "one" side for the same group with different additional labels * Fix handling of cases where additional labels appear on the "many" side * Return a non-misleading error message when a conflict occurs on the "many" side * Update comments * Fix regression in comparison operation output labels * Disable one-to-one comparison operation cases that fail for known reasons * Fix linting warnings and simplify `computeOutputSeries()` * Add tests for annotations * Add tests for case where additional labels are not present on series on either side * Add series sorting test * Add provenance comment * Add benchmark * Expand comments * Fix typo in test names * Add test cases with label names in different orders * Add some test cases with native histograms * Ensure buffers passed to labels.Labels.Bytes(), BytesWithLabels() and BytesWithoutLabels() are reused if resized * Address PR feedback: use minimal number of points for binary operation slice * Address PR feedback: rename `latestSeries` to `latestSeriesIndex` * Address PR feedback: add docstring for `updatePresence` * Address PR feedback: try to reuse slices in more cases * Run mixed metrics tests in parallel * Add `group_left` to mixed metrics tests * Address PR feedback: refactor `vectorVectorBinaryOperationEvaluator.computeResult` to reduce nesting
- Loading branch information
1 parent
2a4ba9b
commit 9e94f1c
Showing
17 changed files
with
2,182 additions
and
380 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.