-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Transform v1 sanitizers into processors or something else #5545
Comments
Automatically invoking the sanitizers in the exporter seems like a good approach, ensuring consistent data sanitization without burdening users with additional configuration. This approach maintains simplicity while addressing the immediate need for sanitization in the v2 collector. |
@yurishkuro So for now, we have to work on rewriting existing sanitizers for operating on OTLP right? |
Yes. |
@yurishkuro what's the status of this? is there anything I can help with? |
Yes , I think this stalled |
@yurishkuro what can I help with? are there subtasks for this issue? |
@mahadzaryab1 see comments in #5551 - it's a good direction, but needs completion. |
## Which problem is this PR solving? - Towards #5545 ## Description of the changes - Created a new `Sanitizer` type for sanitizing traces in OTLP format - Implemented the empty service name sanitizer; I'll open a separate PR for the UTF-8 sanitizer ## How was this change tested? - Unit tests ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <[email protected]>
@yurishkuro do you know what the reasoning behind https://github.com/varshith257/jaeger/blob/v2-sanitizer/cmd/collector/app/sanitizer/utf8_sanitizer.go#L76-L78 is? if the value isn't a valid utf-8 string why is it added to the map? isn't this just a no-op? |
Oh I see. They get converted to bytes. Do we want the same behaviour for the v2 sanitizer ? |
Yes. The motivation is to make the data well formed, but also to preserve original invalid data for debugging. |
…acing#6077) ## Which problem is this PR solving? - Towards jaegertracing#5545 ## Description of the changes - Created a new `Sanitizer` type for sanitizing traces in OTLP format - Implemented the empty service name sanitizer; I'll open a separate PR for the UTF-8 sanitizer ## How was this change tested? - Unit tests ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <[email protected]> Signed-off-by: Saumya Shah <[email protected]>
…acing#6077) ## Which problem is this PR solving? - Towards jaegertracing#5545 ## Description of the changes - Created a new `Sanitizer` type for sanitizing traces in OTLP format - Implemented the empty service name sanitizer; I'll open a separate PR for the UTF-8 sanitizer ## How was this change tested? - Unit tests ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <[email protected]> Signed-off-by: Saumya Shah <[email protected]>
…acing#6077) ## Which problem is this PR solving? - Towards jaegertracing#5545 ## Description of the changes - Created a new `Sanitizer` type for sanitizing traces in OTLP format - Implemented the empty service name sanitizer; I'll open a separate PR for the UTF-8 sanitizer ## How was this change tested? - Unit tests ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <[email protected]>
## Which problem is this PR solving? - Resolves jaegertracing#5545 ## Description of the changes - Continuation of jaegertracing#6077 to implement the UTF-8 sanitizer to operate on OTLP data. ## How was this change tested? - Unit tests ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <[email protected]>
In the v1 collector all received spans are passed through the sanitizers framework
cmd/collector/app/sanitizer/
. This is currently missing in jaeger-v2. Since thejaegerexporter
in v2 operates on OTLP data, the existing sanitizers won't work directly, and will need to be rewritten to operate on OTLP format directly.There are two options how the sanitizers can be invoked. One is to invoke them automatically in the exporter. Another is by defining them as span processors in the OTEL collector pipeline. This allows users to cherry-pick which sanitizers they want to use, but also moves the burden of configuration onto the user, whereas in collector-v1 the default set of sanitizers was always used automatically. I would suggest invoking them automatically in the exporter - in the future if configurability is desirable it can be implemented.
The main requirements are
The text was updated successfully, but these errors were encountered: