pinot icon indicating copy to clipboard operation
pinot copied to clipboard

[multistage] explain plan to visualization

Open walterddr opened this issue 3 years ago • 1 comments

support printing out plan visualization in dot writer format (for GraphViz tools)

now we support

      EXPLAIN PLAN
      [ INCLUDING [ ALL ] ATTRIBUTES ]
      [ AS JSON | AS XML | AS DOT ]
      FOR <query>

with the DOT format we can plot using any graphviz tool to generate execution plan like:

Logical Plan Optimized Plan

walterddr avatar Aug 25 '22 17:08 walterddr

Codecov Report

Merging #9280 (2f7a9fc) into master (88bb40c) will increase coverage by 0.28%. The diff coverage is 58.82%.

@@             Coverage Diff              @@
##             master    #9280      +/-   ##
============================================
+ Coverage     68.42%   68.70%   +0.28%     
+ Complexity     5016     5008       -8     
============================================
  Files          1864     1864              
  Lines         99469    99489      +20     
  Branches      15133    15136       +3     
============================================
+ Hits          68060    68355     +295     
+ Misses        26560    26219     -341     
- Partials       4849     4915      +66     
Flag Coverage Δ
integration1 26.26% <5.88%> (?)
integration2 ?
unittests1 67.12% <81.81%> (+0.03%) :arrow_up:
unittests2 15.31% <52.94%> (+0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...requesthandler/MultiStageBrokerRequestHandler.java 67.04% <16.66%> (+67.04%) :arrow_up:
.../java/org/apache/pinot/query/QueryEnvironment.java 82.75% <80.00%> (-5.00%) :arrow_down:
...a/org/apache/pinot/query/planner/PlannerUtils.java 90.47% <100.00%> (+1.00%) :arrow_up:
...t/core/plan/StreamingInstanceResponsePlanNode.java 0.00% <0.00%> (-100.00%) :arrow_down:
...ore/operator/streaming/StreamingResponseUtils.java 0.00% <0.00%> (-100.00%) :arrow_down:
...server/starter/helix/SegmentReloadStatusValue.java 0.00% <0.00%> (-100.00%) :arrow_down:
...ager/realtime/PeerSchemeSplitSegmentCommitter.java 0.00% <0.00%> (-100.00%) :arrow_down:
...urces/ServerReloadControllerJobStatusResponse.java 0.00% <0.00%> (-100.00%) :arrow_down:
...ator/streaming/StreamingSelectionOnlyOperator.java 0.00% <0.00%> (-90.25%) :arrow_down:
...he/pinot/core/plan/StreamingSelectionPlanNode.java 0.00% <0.00%> (-88.89%) :arrow_down:
... and 228 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

codecov-commenter avatar Aug 26 '22 22:08 codecov-commenter