enhancement(tag_cardinality_limit transform): Add more fine grained controls tag cardinality#25360
Conversation
|
btw. Do you have any use case why include metrics exclusion to cardinality_tags would be better compare to current possible solution: route + remap which should be more sufficient instead scan cardinality list? If you connect it with enrichment table you can manage metrics from external csv. :FYI another PR for tags exclusion: #25316. |
df32f77 to
f64d3bb
Compare
|
@kaarolch This would be if you wanted to different limits for tags in a metric (or if only one tag on a metric should be excluded from the limit) |
|
Took a look at your PR, if we add support for per tag limits I wonder if |
f4ca43a to
94f0198
Compare
8044081 to
9a136f2
Compare
94f0198 to
8fe11cd
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8fe11cd4dc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
8fe11cd to
261b894
Compare
261b894 to
93cf811
Compare
9a136f2 to
b402066
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 93cf811cf2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
b402066 to
445abd6
Compare
b8f4022 to
5501c78
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5501c78dc4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5501c78 to
6dd63ac
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6dd63acf61
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
6dd63ac to
8519e7c
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8519e7cd21
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
9c68670 to
4e83e13
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4e83e130d3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
4e83e13 to
129f73c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5a0433a55d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5a0433a to
991d4e2
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 991d4e294f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
991d4e2 to
c1d00f6
Compare
a94855e to
8e4d254
Compare
c1d00f6 to
102f827
Compare
fb8570d to
d679797
Compare
4b02db2 to
37e02a9
Compare
d679797 to
f3f046a
Compare
37e02a9 to
6ba8683
Compare
…ride/Excluded enum Replace the PerTagInner struct (with ambiguous optional fields) with a PerTagConfig struct wrapping a PerTagMode tagged enum: - mode: limit_override + value_limit: N — track with explicit cap - mode: excluded — opt out of tracking entirely Removes PerTagInner, PerTagModeKind, and the old `excluded: bool` field. The new shape is unambiguous: every per-tag entry must be one or the other. YAML format is consistent with per-metric `mode: excluded`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6ba8683 to
220c890
Compare
f3f046a to
a784c6f
Compare
Summary
Adds additional fine-grained controls for the tag cardinality processor, allowing users to
(1) Add per tag limits within each metric
(2) Add the ability to exclude a specific metric or tag from tracking (if the metric is excluded the tag will be too regardless of any per tag config)
Each tag has it's own config in which either a custom limit for the tag can be configured, or the tag can be excluded from any limits
This is based on top of the changes in #25372
Vector configuration
How did you test this PR?
Regression test run: https://github.com/vectordotdev/vector/actions/runs/25386735971
Unit tests + used the test config above. Simulated an Otel collector source with the following Python script:
Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details on the dd-rust-license-tool.