Conversation
Contributor
|
For the future, don't close and open up a new pr but instead change in the pr you already created. Now this one will not have the comment I added to the other one |
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.
Brief description of Pull Request
Add multi-label matching to
loki.enrichthrough the newtarget_to_log_matchargument. The argument maps discovered target labels to incoming log labels. All configured label pairs must match the same target before its labels are copied to the log entry.Keep the deprecated
target_match_labelandlogs_match_labelarguments for compatibility, withtarget_to_log_matchtaking precedence when both mechanisms are configured.Extract target matching into a shared library used by both
loki.enrichandprometheus.enrich. Update the component documentation and example configuration.Pull Request Details
The shared matcher handles label ordering, value hashing, and target lookup. Target label names are sorted before constructing lookup keys, making matching deterministic regardless of map iteration order.
Targets with missing or empty match labels are excluded from the lookup. Log entries with missing or empty match labels are forwarded unchanged. Each component retains its existing label-copying behavior and synchronization.
Tests cover multi-label matching, missing and empty labels, duplicate targets, value boundaries, target snapshots, legacy compatibility, and validation. Tests for the shared matcher and both enrichment components pass with
-raceafter rebasing ontomain.Previous PR.
Issue(s) fixed by this Pull Request
Fixes #7009
PR Checklist