You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Presto UI Stage Performance tab does not show operators which refer to plan nodes which were created on worker side during plan rewriting and are not present in original plan.
Example of code that does plan rewrite on worker side:
@LeonidChistov the existing UI logic is to display the plan tree as a DAG graph. As you mentioned, showing the operators that are not in the original plan would help the analysis. I suggest you try to add those operator nodes to the graph and see what it looks like. I don't think it would break anything. FYI, the existing code does parse the whole list of the operatorSummarieshere.
I am not sure that I understand the statement about DAG graph. What I see in the Stage Performance tab is that it renders pipelines, which are just chains of operators.
Question which I have is: why it is not possible to avoid looking on Plan nodes and matching them against operators, but instead just to look on the operator ids and use them to create operator chains in the correct order in the UI.
Please let me know, if I am missing something here.
I believe the way it constructs the graph is based on the old data struct and the data struct changes and more data is added. If you like, you can update the graph and how it composes it and see if it can display all operators.
Presto UI Stage Performance tab does not show operators which refer to plan nodes which were created on worker side during plan rewriting and are not present in original plan.
Example of code that does plan rewrite on worker side:
presto/presto-native-execution/presto_cpp/main/types/PrestoToVeloxQueryPlan.cpp
Line 423 in 360bf94
Here the new plan node is created.
Your Environment
October 11
Presto codebase snapshotExpected Behavior
All operators present in
latestAttemptExecutionInfo.stats.operatorSummaries
section need to be visible in UI to allow performance analysis.Current Behavior
Only operators that have
planNodeId
set to id of plan node present in the original query plan are shown in Stage Performance tab.It can be seen that this is due to Presto UI implementation that considers for rendering only operators with plan nodes ids from the original plan:
presto/presto-ui/src/components/QueryStageView.jsx
Line 364 in e51c793
Possible Solution
Simplest solution would be to change Presto UI logic to use only
operatorSummaries
section for pipelines rendering and avoid referring to query pan.In this case operator ids will be used to determine order of operators in the pipeline.
It is not clear though, why this approach was not initially implemented and whether this change may break anything,
Steps to Reproduce
Problem was reproduced when running TPCH Q1 with Hive connector.
Relevant fragment of execution JSON dump: https://pastebin.com/J9vZjGmk
Here FilterProject operator with plan node id
442.0
is present:while in the original plan there is only a node with id
442
:Screenshots (if appropriate)
The text was updated successfully, but these errors were encountered: