fix(spans): Don't infer names during tag extraction#6080
Open
loewenheim wants to merge 3 commits into
Open
Conversation
loewenheim
commented
Jun 11, 2026
Comment on lines
-1145
to
-1146
| } else if let Some(name) = name_for_span(span) { | ||
| span_tags.name = name.into(); |
Contributor
Author
There was a problem hiding this comment.
This is the operative change in this PR.
| "is_segment": False, | ||
| # Since `http.route` is redacted and the name is synthesized | ||
| # from it, it needs to be redacted too. | ||
| "name": "GET *******************", |
Contributor
Author
There was a problem hiding this comment.
This shows that the name synthesis respects PII. It raises a question, though: is it actually useful to construct a name from scrubbed values? The alternative would be to fall through to the next rule until we find one where all required attributes are available and unredacted.
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.
Currently we synthesize names for V1 frames in the transaction pipeline (during tag extraction). On the one hand, this is wholly unnecessary: Names aren't used in V1 span processing, they are only required when we store spans as EAP items. On the other hand, it creates a PII problem—tag extraction happens before PII scrubbing, so we can leak PII by synthesizing the name.
The solution is to simply not do it, and instead rely on the name synthesis that happens later during the V1 -> V2 span conversion anyway. At that point, we actually do need the name because we want to write the span, and we can't leak PII because it has been scrubbed.
ref: INGEST-957