-
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
(deprecation) Remove jaeger-agent #4739
Comments
cc @vprithvi @jaegertracing/jaeger-maintainers @jaegertracing/helm-charts-maintainers |
Step 1 in #4739 Signed-off-by: Yuri Shkuro <[email protected]>
Step 1 of jaegertracing/jaeger#4739 Signed-off-by: Yuri Shkuro <[email protected]>
Thanks for the heads up! Agree with this direction (also, goodbye 64KB UDP packet size limitation) |
I'm using the jaeger agent pipeline and have tried moving to the OTLP pipeline, but I am running into a host of issues. The opentelemetry-otlp pipeline doesn't support batching with Tokio, has a wierd Config conflict, and more. Are there any examples of how to switch over without running into all of these issues? |
@James-Bartman jaeger-agent does not provide any batching, it is a pass-through proxy. If you are using the classic Jaeger SDKs, they typically would batch spans in the app's memory and export a batch to the backend. You can reconfigure them to export to collector and bypass the agent. Unless your specific SDK does not support non-UDP exports - I don't know since Rust was not officially supported by Jaeger team. The OTEL version does support batching, and can talk to collector: https://docs.rs/opentelemetry-jaeger/latest/opentelemetry_jaeger/ |
@yurishkuro Thank you! I was able to get implement the |
Thanks for the heads up! Is it already possible to disable the agent when running the The docs currently suggest not to use the agent because it is deprecated, but the configuration does not seem to allow this. I have installed the |
@mrasap good question, this should be part of the deprecation plan. I don't know the answer, so asked here: jaegertracing/jaeger-operator#2401 |
@yurishkuro It's time to mark the second point in the checklist of ticket. It's been 6+ months |
When I am taking a look at this ticket #4768 of removing deprecated Jaeger SDK to replace OTEL vars, I found this
The checklists of both tickets seems to be solved together |
@yurishkuro PTAL |
jaegertracing/jaeger-operator#2611 |
@chinaran yes we should remove it from the operator, but the description lists the order in which the steps need to be done. |
I understand, thanks. |
## Which problem is this PR solving? - Part of #4739 ## Description of the changes - Remove jaeger-agent from binary and Docker distributions - Move agent's port mappings into `cmd/agent/app/ports.go` to clean up the main ports ## Dependencies - Need to refactor crossdock to not rely on agent ## How was this change tested? - CI ## Checklist - [ ] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [ ] I have signed all commits - [ ] I have added unit tests for the new functionality - [ ] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of jaegertracing/jaeger#4739 ## Description of the changes - Remove references to `jaeger-agent` everywhere except FAQ and Operator - Operator page needs to be cleaned-up separately, perhaps it needs changes in the operator to support OTEL Collector as the agent ## How was this change tested? - CI --------- Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of jaegertracing#4739 ## Description of the changes - Remove jaeger-agent from binary and Docker distributions - Move agent's port mappings into `cmd/agent/app/ports.go` to clean up the main ports ## Dependencies - Need to refactor crossdock to not rely on agent ## How was this change tested? - CI ## Checklist - [ ] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [ ] I have signed all commits - [ ] I have added unit tests for the new functionality - [ ] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of #4739 Signed-off-by: Yuri Shkuro <[email protected]>
jaeger-agent
used to be very useful when Jaeger SDKs were in active use with their default UDP-based exporters. Most OTEL SDKs do not support UDP exporter and are phasing out Jaeger exporters altogether. That makesjaeger-agent
an unnecessary component since it is only designed to receive data via UDP.Note that having a host-local agent is still an often desirable deployment model, because it simplifies the SDK configuration (SDK only needs to know localhost:port address). However, OTEL Collector is a more suitable component for a host agent now, especially since it can also serve other functions like logs forwarding, not just trace data proxying.
Migration
See https://www.jaegertracing.io/docs/latest/architecture/ for the recommended deployment configurations.
Proposal
Deprecate
jaeger-agent
and in 6-months remove it from the code base. This will allow removing a large chunk of code that we won't need to maintain anymore.Alternatives considered
Accept OTLP
We could deprecate UDP receivers in the agent and instead mount an OTLP receiver. This will allow
jaeger-agent
to continue to exist close to its current form. But the benefits of doing so are unclear, while the downsides are that we still need to support a chunk of source code and it creates/causes confusion with the users if the agent is required and why.The text was updated successfully, but these errors were encountered: