-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-29019][WebUI] Improve tooltip JDBC/ODBC Server tab #25723
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
[SPARK-29019][WebUI] Improve tooltip JDBC/ODBC Server tab #25723
Conversation
|
ok to test |
|
hi, @wangyum. You need a permission for the Spark jenkins to say "ok to test". So, you need to ask @shaneknapp for the permission, first. |
|
ok to test |
|
Test build #110318 has finished for PR 25723 at commit
|
|
Oh, I see |
|
Test build #110370 has finished for PR 25723 at commit
|
| "Finish time of the execution, before fetching the results" | ||
|
|
||
| val THRIFT_SERVER_CLOSE_TIME = | ||
| "Close time of the process after fetching the results" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe process -> statement or operation?
| val table = if (numStatement > 0) { | ||
| val headerRow = Seq("User", "JobID", "GroupID", "Start Time", "Finish Time", "Close Time", | ||
| "Execution Time", "Duration", "Statement", "State", "Detail") | ||
| val tooltips = Seq(None, None, None, None, Some(ToolTips.THRIFT_SERVER_FINISH_TIME), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we add the same to ThriftServerSessionPage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought it was the same code to generate this two pages. I forgot test it. Thanks!!
With the same tooltips of ThriftServerPage
|
Test build #110438 has finished for PR 25723 at commit
|
| """ | ||
|
|
||
| val THRIFT_SERVER_FINISH_TIME = | ||
| "Finish time of the execution, before fetching the results" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "Execution finish time" would sound better than "Finish time of the execution"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm Sorry, spanish common error when we write in english :-)
| "Finish time of the execution, before fetching the results" | ||
|
|
||
| val THRIFT_SERVER_CLOSE_TIME = | ||
| "Close time of the operation after fetching the results" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Likewise, "Operation close time"
| "Execution Time", "Duration", "Statement", "State", "Detail") | ||
| val tooltips = Seq(None, None, None, None, Some(ToolTips.THRIFT_SERVER_FINISH_TIME), | ||
| Some(ToolTips.THRIFT_SERVER_CLOSE_TIME), Some(ToolTips.THRIFT_SERVER_EXECUTION), | ||
| Some(ToolTips.THRIFT_SERVER_DURATION), None, None, None) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or, if not inside UIUtils.listingTable, maybe add assert(headerRow.length == tooltips.length) here and in ThriftServerSessionPage?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been thinking about it, yes, it's a good idea, in that way we don't break the homogeneous way of treating the parameters at UIUtils.listingTable and we ensure it is going to be less problems if new headers are added
|
Test build #110440 has finished for PR 25723 at commit
|
|
Test build #110441 has finished for PR 25723 at commit
|
juliuszsompolski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks.
|
Test build #110482 has finished for PR 25723 at commit
|
|
Thanks @juliuszsompolski for your work. |
|
the tests has failed but in two tests that don't have any relation with my last changes. Someone knows if it is normal? |
|
retest this please |
|
Test build #110508 has finished for PR 25723 at commit
|
juliuszsompolski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. cc @wangyum @gatorsmile
|
retest this please |
|
Test build #111217 has finished for PR 25723 at commit
|
|
retest this please |
|
Test build #111224 has finished for PR 25723 at commit
|
| ephemerally when executors are being killed. | ||
| """ | ||
|
|
||
| val THRIFT_SERVER_FINISH_TIME = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we move these changes and tests to hive-thriftserver module? @srowen @dongjoon-hyun What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, if these are only relevant to the thrift server UI, they could go with the other thrift server UI code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, it make sense to have the tooltips in thriftserver module, i'm going to move it.
To generate the tables for this pages we use UIUtils from spark core module so I needed to improve this utils to add this new functionality.
Also, this improvements could be use in other pages to add tooltips to the tables.
|
Test build #111448 has finished for PR 25723 at commit
|
|
Test build #111451 has finished for PR 25723 at commit
|
...erver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala
Outdated
Show resolved
Hide resolved
|
Test build #111490 has finished for PR 25723 at commit
|
|
Test build #4887 has finished for PR 25723 at commit
|
|
retest this please |
| val tooltips = Seq(None, None, None, None, Some(THRIFT_SERVER_FINISH_TIME), | ||
| Some(THRIFT_SERVER_CLOSE_TIME), Some(THRIFT_SERVER_EXECUTION), | ||
| Some(THRIFT_SERVER_DURATION), None, None, None) | ||
| assert(headerRow.length == tooltips.length) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see, you check it here. Usually I'd say use require but this is a good case for assert instead
wangyum
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Merged to master |
|
It looks great! @planga82 @wangyum @gengliangwang Could we do the similar enhancements for the other UI pages? |
|
@gatorsmile Ok, I can review it |

What changes were proposed in this pull request?
Some of the columns of JDBC/ODBC server tab in Web UI are hard to understand.


We have documented it at SPARK-28373 but I think it is better to have some tooltips in the SQL statistics table to explain the columns
The columns with new tooltips are finish time, close time, execution time and duration
Improvements in UIUtils can be used in other tables in WebUI to add tooltips
Why are the changes needed?
It is interesting to improve the undestanding of the WebUI
Does this PR introduce any user-facing change?
No
How was this patch tested?
Unit tests are added and manual test.