-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Adds instrumentation for search path #8408
Adds instrumentation for search path #8408
Conversation
Signed-off-by: Gagan Juneja <gjjuneja@amazon.com>
@reta @shwetathareja Please provide your thoughts on this. |
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Nope, see please [1]
[1] https://opentelemetry.io/docs/concepts/signals/traces/#span-context |
@reta , I am working on documentation task for tracing framework features for release 2.9. Which includes how somebody can enable/disable the feature and other settings. While I fully appreciate and support the holistic approach you've outlined for adding instrumentation, I believe it would be beneficial to include a basic search request instrumentation as a stepping stone that users can easily relate to. (SearchTask -> QueryPhase -> FetchPhase) I have created a meta task for the overall tracing implementation and will continue working on that. I tried doing the changes for TransportAction but it's a lot of work and requires testing as there are hundreds of implementations of TransportAction and we need to pass the TracingFactory instance from all concrete classes. |
As I mentioned, I don't see the point in rushing the instrumentation in the current form (it could be replaced by a simple log statements if there is an urgent need to do so). If others see the value in it - I have no objections. |
Thanks @Gaganjuneja for this, wanted to understand more around the changes. As I see, the tracing is being done mostly around the shard level search execution The benefit I see with doing this way is, if there are core deficiencies in the tracing framework we have built so far, it would help us understand those gaps upfront and course correct without having to invest into into a framework first and then thinking how best these core modules would fit in @reta what do you think? |
Thanks @Bukhtawar
We already found one with Tracing API [1], this is good (in my opinion) and we could address that now.
That the most complicated and arguably the most important part of the work. It opens up the way for context transfer and actually getting real benefits of distributed nature of the tracing (not only for core but beyond that). What we get with this (isolated) instrumentation - out of the blue uncorrelated traces. This is what logs are for (my opinion). |
@Gaganjuneja @Bukhtawar |
Signed-off-by: Gagan Juneja <gjjuneja@amazon.com>
Signed-off-by: Gagan Juneja <gjjuneja@amazon.com>
Signed-off-by: Gagan Juneja <gjjuneja@amazon.com>
Absolutely, @shwetathareja, We need to decide on that as well, explicit inline instrumentation looks good to me. |
@reta @Bukhtawar Please take a look once. I have added the instrumentation in TransportAction directly and removed from the TransportSearchAction. |
Gradle Check (Jenkins) Run Completed with:
|
This PR is stalled because it has been open for 30 days with no activity. Remove stalled label or comment or this will be closed in 7 days. |
This PR was closed because it has been stalled for 7 days with no activity. |
Apologies. This PR was auto closed without reaching a resolution from the maintainers. |
Compatibility status:Checks if related components are compatible with change 479a937 Incompatible componentsSkipped componentsCompatible componentsCompatible components: [] |
Gradle Check (Jenkins) Run Completed with:
|
This PR is stalled because it has been open for 30 days with no activity. |
There has been no movement on this PR. @Gaganjuneja Please reopen if you still plan to work on it. |
Description
Adds the instrumentation on Search path. Making it a Draft PR to discuss the instrumentation on SearchService.java whether this is the right way to do explicit tracing or should we do inside SearchOperationsListener, which will require the state management.
Related Issues
Resolves #[7546]
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.