Prometheus labels/series APIs: support multiple match[] selectors#145298
Merged
felixbarny merged 3 commits intoelastic:mainfrom Mar 31, 2026
Merged
Prometheus labels/series APIs: support multiple match[] selectors#145298felixbarny merged 3 commits intoelastic:mainfrom
felixbarny merged 3 commits intoelastic:mainfrom
Conversation
Re-parses the raw URI via RequestParams.fromUri to capture all repeated match[] values, working around the current limitation where request processing keeps only the last value for repeated parameters (tracked in elastic#145223). Also calls repeatedParamAsList to mark the parameter as consumed so Elasticsearch does not reject the request as having unrecognized params. Adds IT test cases for all three endpoints (labels, label values, series) that send two match[] selectors and verify only the matched series contribute to the response.
Collaborator
|
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
kkrik-es
reviewed
Mar 31, 2026
...etheus/src/main/java/org/elasticsearch/xpack/prometheus/rest/PrometheusSeriesRestAction.java
Show resolved
Hide resolved
kkrik-es
approved these changes
Mar 31, 2026
szybia
added a commit
to szybia/elasticsearch
that referenced
this pull request
Mar 31, 2026
…rics * upstream/main: (428 commits) ESQL: DS: Add inference/RERANK tests (elastic#145229) Unmute MMR logical plan test (elastic#145311) Do not attempt marking store as corrupted if the check is rejected due to shutdown (elastic#145209) feat(tsdb): add pipeline runtime and rename stage interfaces (elastic#145175) Fix UnresolvedException on PromQL by(step) grouping (elastic#145307) ES|QL: Optimize MMR by reducing cache size and lookup (elastic#145014) Prometheus labels/series APIs: support multiple match[] selectors (elastic#145298) Move ClientScrollablePaginatedHitSource into Reindex Module (elastic#144100) mute test class for elastic#145277 CPS mode for ViewResolver (elastic#145219) [ESQL] Disables GroupedTopNBenchmark temporarily (elastic#145124) Make exponential_histogram the default histogram type for HTTP OTLP endpoint (elastic#145065) More tests requiring an explicit confidence interval (elastic#145232) ES|QL: Adding `USER_AGENT` command (elastic#144384) ESQL: enable Generative IT after more fixes (elastic#145112) Rework FieldMapper parameter tests to not use merge builders (elastic#145213) [ESQL] Fix ORC type support gaps (elastic#145074) [Test] Unmute FollowingEngineTests.testProcessOnceOnPrimary (elastic#145192) Add PrometheusSeriesRestAction for /_prometheus/api/v1/series endpoint (elastic#144494) Prometheus labels API: add rest action (elastic#144952) ...
ncordon
pushed a commit
to ncordon/elasticsearch
that referenced
this pull request
Apr 1, 2026
…astic#145298) Re-parses the raw URI via RequestParams.fromUri to capture all repeated match[] values, working around the current limitation where request processing keeps only the last value for repeated parameters (tracked in elastic#145223). Also calls repeatedParamAsList to mark the parameter as consumed so Elasticsearch does not reject the request as having unrecognized params. Adds IT test cases for all three endpoints (labels, label values, series) that send two match[] selectors and verify only the matched series contribute to the response.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
RequestParams.fromUrito capture all repeatedmatch[]values, working around the current limitation where request processing keeps only the last value for repeated parameters (to be fixed in Preserve multi-value request params through PathTrie iteration #145223).repeatedParamAsListto mark the parameter as consumed so Elasticsearch does not reject the request as having unrecognized params.match[]selectors and assert only matched series contribute to the response, including a decoy metric to verify non-matching series are excluded.