ESQL - Add planning detailed timing to profile information#138564
ESQL - Add planning detailed timing to profile information#138564carlosdelest merged 29 commits intoelastic:mainfrom
Conversation
|
Hi @carlosdelest, I've created a changelog YAML for you. |
…lanning-time' into enhancement/esql-profile-planning-time
…ile-planning-time # Conflicts: # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/planner/PlannerUtils.java # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session/EsqlSession.java
|
|
||
| /** | ||
| * @param logicalOptimizationNanos Time spent on local logical plan optimization (in nanoseconds) | ||
| * @param physicalOptimizationNanos Time spent on local physical plan optimization (in nanoseconds) |
There was a problem hiding this comment.
I would like to move my prior question here: #138400 (comment)
There was a problem hiding this comment.
Do you mind clarifying planNanos as well?
It looks like it includes:
breakPlanBetweenCoordinatorAndDataNode
reductionPlan
plan.collect(LookupJoinExec.class::isInstance)...
All of them should be fairly cheap.
I'm looking at it now - as you say, it's fairly cheap and probably makes no sense as it addresses multiple intermediate operations for planning.
I will remove it as it adds some confusion. Thanks!
There was a problem hiding this comment.
I've added a reduction_nanos field for taking into account the reduction plan timing on node_reduce. LMKWYT!
…ile-planning-time # Conflicts: # server/src/main/resources/transport/upper_bounds/9.3.csv # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/planner/PlannerUtils.java
|
Pinging @elastic/es-search-relevance (Team:Search Relevance) |
…ile-planning-time # Conflicts: # server/src/main/resources/transport/upper_bounds/9.3.csv # x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/action/EsqlQueryResponseProfileTests.java # x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/action/EsqlQueryResponseTests.java
…ile-planning-time # Conflicts: # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/ComputeService.java
|
@idegtiarenko , can you please provide another review to this PR? Happy to do incremental updates to it in follow up PRs 👍 |
…ile-planning-time # Conflicts: # server/src/main/resources/transport/upper_bounds/9.3.csv # x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/session/EsqlSession.java
Adds plan profiling to the
plansprofile section.Added information:
{ { "plans": [ { "description": "data", "cluster_name": "runTask", "node_name": "runTask-0", "plan": "ExchangeSinkExec...", "logical_optimization_nanos": 532791, "physical_optimization_nanos": 269042 }, { "description": "node_reduce", "cluster_name": "runTask", "node_name": "runTask-0", "plan": "ExchangeSinkExec....", "reduction_nanos": 61000 }, { "description": "final", "cluster_name": "runTask", "node_name": "runTask-0", "plan": "...", "logical_optimization_nanos": 1804666, "physical_optimization_nanos": 565542 } ] } }