-
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
Upgrade Storage Backends to V2 Storage API #6458
Labels
Comments
5 tasks
4 tasks
mahadzaryab1
added a commit
that referenced
this issue
Jan 5, 2025
…o v1 (#6485) ## Which problem is this PR solving? - Resolves #6480 ## Description of the changes - This PR implements a reverse adapter (`SpanReader`) that wraps a native v2 storage interface (`tracestore.Reader`) and downgrades it to implement the v1 storage interface (`spanstore.Reader`). - The reverse adapter was integrated with the v1 query service. This code path will only get executed once we start upgrading the existing storage implementations to implement the new `tracestore.Reader` interface as a part of #6458 ## How was this change tested? - CI - Added new 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`: `npm run lint` and `npm run test` --------- Signed-off-by: Mahad Zaryab <[email protected]>
Hello @mahadzaryab1. I am Devaansh Kumar and I am interested in applying for this project under LFX'25. I have some experience with open source earlier as I had participated in GSoC'24 under Kubernetes. I have a few questions:
Thank you |
adityachopra29
pushed a commit
to adityachopra29/jaeger
that referenced
this issue
Jan 9, 2025
…o v1 (jaegertracing#6485) ## Which problem is this PR solving? - Resolves jaegertracing#6480 ## Description of the changes - This PR implements a reverse adapter (`SpanReader`) that wraps a native v2 storage interface (`tracestore.Reader`) and downgrades it to implement the v1 storage interface (`spanstore.Reader`). - The reverse adapter was integrated with the v1 query service. This code path will only get executed once we start upgrading the existing storage implementations to implement the new `tracestore.Reader` interface as a part of jaegertracing#6458 ## How was this change tested? - CI - Added new 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`: `npm run lint` and `npm run test` --------- Signed-off-by: Mahad Zaryab <[email protected]> Signed-off-by: adityachopra29 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a project proposed as part of LFX Mentorship term #6470.
Background
Jaeger is an open-source, distributed tracing platform designed to monitor and troubleshoot microservices-based systems. A critical component of Jaeger is its storage backends, where traces captured by Jaeger are persisted for querying.
Currently, Jaeger uses a v1 Storage API, which operates on a data model specific to Jaeger. Each storage backend implements this API, requiring transformations between Jaeger's proprietary model and the OpenTelemetry Protocol (OTLP) data model, which is now the industry standard.
As part of #5079, Jaeger has introduced the more efficient v2 Storage API, which natively supports the OpenTelemetry data model (OTLP), allows batching of writes and streaming of resultes. This effort is part of a broader alignment with the OpenTelemetry Collector framework, tracked under #4843.
Objective
Upgrade Jaeger storage backends to natively implement the v2 Storage API.
The chosen storage backend should be upgraded to fully implement the v2 Storage API in place. For a rough idea of how to upgrade from the v1 model to the OTLP data model, take a look at the PRs in the following issues that do a similar upgrade for other components of Jaeger:
Desired Outcomes
Upgrade Memory and Elasticsearch backends
We prioritize these two backends as they are the mostly frequently used with Jaeger and upgrading them paves a path for upgrading other backends.
Testing
Bonus: Upgrade Other Backends
If time permits, upgrade Badger and Cassandra storage backends.
Risks / Open Questions
The text was updated successfully, but these errors were encountered: