-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-8694][WebUI]Defer executing drawTaskAssignmentTimeline until page loaded to avoid to freeze the page #7071
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
Conversation
… to freeze the page
|
Test build #35941 has finished for PR 7071 at commit
|
|
Thanks for reporting this issue. I'll try to apply this patch. |
|
@zsxwing By the way, I created SPARK-8694 as a sub task of SPARK-2015 for this issue. |
|
Updated it. |
|
@zsxwing Did you profile after patching? I spent some times to profile before-patching and after-patching 2 times for each, with 10000 tasks. I couldn't recognized significant performance up of rendering. To make matters worse, the timeline is not available until the entire page has been done to render. |
|
For more information, I've tested using Chrome 39.0.2171.71. |
|
This PR is not for rendering speedup. It's just for people to be able to view the page before finishing rendering the timeline. |
|
As you can see the captures, the time I wait until I can view the page was not so different between before patching and after. Can you have some time to spent to profile? |
Sorry that it's not clear about the purpose of this PR. Before this patch, people will see the following incomplete page for several seconds. The browser won't display the content below the timeline because After this patch, people can see the complete page at once except the timeline. And the timeline is hidden, so it's not a big deal. |
|
I have never seen the situation you mentioned even when there are 10000 tasks. The contents below the timeline are rendered immediately with my browser (Chrome, Firefox). I wonder this issue may depend on environments. @kayousterhout , @pwendell Have you ever seen this issue? |
I think it depends on the performance of CPU. My CPU is 2.7G i7. |
|
@zsxwing is this outdated now that we have pagination? |
Yes. I think we don't need it. Closing it. |





When there are massive tasks in the stage page (such as, running
sc.parallelize(1 to 100000, 10000).count()),Event Timelineneeds 15+ seconds to render the graph (drawTaskAssignmentTimeline) in my environment. The page is unresponsive until the graph is ready.However, since
Event Timelineis hidden by default, we can deferdrawTaskAssignmentTimelineuntil page loaded to avoid freezing the page. So that the user can view the page while renderingEvent Timelinein the background.This PR puts
drawTaskAssignmentTimelineinto$(function(){})to avoid blocking loading page.