-
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
[jaeger-v2] Change remote storage API to be the same as query service API #5334
Comments
I think we need to do a bit of analysis before we decide, including the v2/v3 question. The plan for Storage V2 API was to base it on OTLP data model, not the old Jaeger model as query/api_v2 today. Maybe we should start a doc where we can do side by side comparison of both existing v2 and v3 (in terms of capabilities) and the existing storage API, so see if we can arrive to a single unified API. There's also another consideration for the write API to be compatible with OTLP receivers. If we can satisfy all these requirements it would be awesome. |
I have compared and analyzed the existing storage API and query service v2 and v3 API here https://docs.google.com/document/d/1IvUcDsdRxMPK-xTUE32w3NSAGTkUcmnDQttN6ijUnWs/edit?usp=sharing. |
## Which problem is this PR solving? - Part of #5334 ## Description of the changes - An API design of Storage V2 spanstore and its proto file. - For the detailed discussion and how we arrived to this design, please take a look at https://docs.google.com/document/d/1IvUcDsdRxMPK-xTUE32w3NSAGTkUcmnDQttN6ijUnWs/edit?usp=sharing ## How was this change tested? - This PR hasn't been tested yet since it only contains interfaces and no actual implementation to be tested. ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [ ] 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: James Ryans <james.ryans2012@gmail.com>
…gertracing#5399) ## Which problem is this PR solving? - Part of jaegertracing#5334 ## Description of the changes - An API design of Storage V2 spanstore and its proto file. - For the detailed discussion and how we arrived to this design, please take a look at https://docs.google.com/document/d/1IvUcDsdRxMPK-xTUE32w3NSAGTkUcmnDQttN6ijUnWs/edit?usp=sharing ## How was this change tested? - This PR hasn't been tested yet since it only contains interfaces and no actual implementation to be tested. ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [ ] 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: James Ryans <james.ryans2012@gmail.com> Signed-off-by: Vamshi Maskuri <gwcchintu@gmail.com>
…gertracing#5399) ## Which problem is this PR solving? - Part of jaegertracing#5334 ## Description of the changes - An API design of Storage V2 spanstore and its proto file. - For the detailed discussion and how we arrived to this design, please take a look at https://docs.google.com/document/d/1IvUcDsdRxMPK-xTUE32w3NSAGTkUcmnDQttN6ijUnWs/edit?usp=sharing ## How was this change tested? - This PR hasn't been tested yet since it only contains interfaces and no actual implementation to be tested. ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [ ] 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: James Ryans <james.ryans2012@gmail.com>
## Which problem is this PR solving? - Part of #5334 ## Description of the changes - Current storageextension uses v1 storage factory and transitioning from v1 to v2 requires v2 to implement the v1 storage factory interface. This PR helps by creating a wrapper factory to implement v1 storage factory converted from v2 spanstore interface. ## 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 - [ ] 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: James Ryans <james.ryans2012@gmail.com> Co-authored-by: Yuri Shkuro <yurishkuro@users.noreply.github.com>
Requirement
As Jaeger-V2 is currently being developed, it would be nicer if the remote storage API had the same API with query service so it could be reused between components.
Problem
As discussed in #5322 (comment), by changing the remote storage API to be the same as the query storage API, we can reuse this API for Jaeger-V2 e2e testing purposes.
Proposal
No response
Open questions
Remote storage APIs have read & write span, read & write archive span, get capabilities, and read dependencies while query storage APIs only have read span data. So, the scope of this feature is to change the read span, archive span, and dependencies. Is this correct?
I have looked into query service API and there are v2 and v3, in which v3 uses OTLP model while v2 uses Jaeger model. V3 handles most v2's API except ArchiveTrace and GetDependencies. Do we need to use partially v3 APIs and v2 for the rest or fully v2 APIs?
The text was updated successfully, but these errors were encountered: