-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Profiling Extensibility #18486
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
Profiling Extensibility #18486
Conversation
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
…nto multiple-trees
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
…orresponding tests Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
Signed-off-by: TJ Neuenfeldt <tjneu@amazon.com>
|
❌ Gradle check result for 40f8987: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Thanks for the work, @neuenfeldttj I briefly look at it, have a few high level comments:
Hope it makes sense, thank you. |
|
Thanks @reta for looking!
This would produce multiple profile trees so when the output is generated, there will be a tree-like output for each plugin + the default query profiler. Wouldn't it be better to make all plugins' profiling breakdowns be a part of the same tree the default query profiler outputs? |
That one is not a given - I think we should have a single breakdown, aggregated between all profilers. Does it make sense? Thank you. |
|
I tried making the |
Description
Single profile tree implementation that resolves #18460. Each query has an associated query breakdown and plugin profile breakdown (if there's a plugin associated with it). A plugin/extension may provide multiple breakdowns. Each breakdown is contextual--the plugin profile breakdown is returned to the plugin/extension based on the query context given. The plugin/extension would get the plugin breakdown very similar to how
ProfileWeightdoes it; as long as there's aContextIndexSearcherinstance and a context, profiling information can be generated from the plugin.Aggregation is handled how the current implementation does it -- aggregations of plugin extensions aren't supported.
Related Issues
Resolves #18460
Resolves #17146
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.