-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[receiver/datadog] Span Obfuscation #35593
[receiver/datadog] Span Obfuscation #35593
Conversation
Have you checked to see if any of the existing processors would provide this functionality? I am hesitant to allow adding this into the receiver when it could already be achieved with existing functionality. There is also the added concern that this component is effectively bundling the datadog agent into the collector which doesn't sound ideal. |
Hey @MovieStoreGuy, Thank you for the review. Yes, I have checked all the existing processors, and none of them have the capability to clean or/and obfuscate the span data in such a context-aware/structured way as it's done here. For instance, like this simple test demonstrates, it takes a SQL query with comments, aliases, and repetitions (ref), and turn it into a flat, un-aliased, un-commented, deduplicated string (ref), something that is just not possible with any other processor currently available. I would be more than happy to propose something like this for an existing processor such as Span Processor though, but I guess we could first prove the value of such a focused processing approach as this in a more narrowed-scope component such as Datadog Receiver here. Finally, regarding bundling the Datadog Agent into the Collector, please correct me if I'm wrong here, but I don't think this particular feature implementation is moving this (very reasonable) concern any further, considering what has already taken place by the Datadog Exporter, and for the very own Datadog Receiver. Still, again, I might be missing something here. Thank you again for the thoughtful review :) |
….com/lopes-felipe/opentelemetry-collector-contrib into datadog-receiver/add-span-obfuscator
Hey @MovieStoreGuy, would you mind taking another look at this, considering now my previous comment? Thank you :) |
Hey @lopes-felipe ,
Have you looked at https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/redactionprocessor ? I am trying to conscious of is the Datadog receiver doing too much and tightly coupling a receivers role and a processors role. This historical made for a bad experience and has introduced performance issues in those components. Realistically I would expect this work to be done within the above redaction processor with configuration defined. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing this from the root package will break some tests and generated code. It is expected to be defined here.
Hey @MovieStoreGuy,
I see, and that definitely makes sense. Considering that, I have put up this issue to discuss this feature in a more broad, vendor-agnostic approach to the Span Processor. I think we can close this now. Thanks. |
Description
Datadog Agent's span processor has an obfuscation pipeline that—among other things—obfuscates sensitive data, cleans up span resource names, and extracts particular components into specific span metadata.
This PR implements the same behavior into the
datadogreceiver
, but disabled by default for retro compatibility with existing users.Link to tracking issue
Fixes
Testing
Documentation