Surya Hebbar has uploaded a new patch set (#5). ( http://gerrit.cloudera.org:8080/21593 )
Change subject: IMPALA-13233: Improve display of instance-level skew in query timeline ...................................................................... IMPALA-13233: Improve display of instance-level skew in query timeline Representing phases of multiple instances in a single bar with dividers makes it challenging to distinguish between the perimeters of each instance's phases, hindering other instances that have already started with the subsequent phase. Hence, the correlation between the recorded profile metrics and the user's desired representation is less. To improve this representation, the phases of each fragment's instances are now being aggregated and displayed as a histogram on the timeline, making it easier to understand the distribution of start time and end time of different instance's phases. When there are more than 5 instances for a phase, respective timestamps are bucketed into 5 divisions each spanning 20% of the difference between maximum and minimum timestamp value. Each group's timestamps are aggregated and then maximum value is plotted on the query timeline. If the number of instances are less than or equal to 5, for each event, instance timestamps are sorted in ascending order before plotting. This results in a descending staircase form of aggregated metrics display, where maximum timestamps within each of the 20% spanning divisions is shown. The order of rendering phases and iterating through colors for each plan node has been reversed, in order to support this representation. A tooltip containing the following additional details is displayed, when hovering on a plane node's bucketed phase rectangle. - With respect to the hovered on bucketed phase rectangle - No. of instances - Event's Maximum Timestamp (in seconds) - Event's Minimum Timestamp (in seconds) - Event's Average Timestamp (in seconds) Outlines are drawn at the top and bottom of each plan node, according to the timestamp of the instances' final closing phase. The attribute 'stroke-dasharray' has been used to add separators between the perimeters of each instance's phases, instead of an additional SVG line element each time. Redundant calls to 'appendChild' methods and setting fragment's ID after each iteration have been removed. With this approach, the number of SVG elements in the fragment diagram is reduced substantially, resulting in very fast rendering times. Similar to "HASH_JOIN_NODE", the rendering of 2nd and 3rd events ("Waiting for initial build" and "Initial build available") for the node type "NESTED_LOOP_JOIN_NODE" have also been skipped. Optional arguments have been removed from all 'getSVG*' functions. Replaced equality operators with strict equality operators. Manually tested with various profiles, sizes ranging from 4MB to 430MB. Change-Id: Ied8a5966e9e4111bf7aa25aee11d23881daad7d2 --- M www/queries.tmpl M www/query_backends.tmpl M www/query_detail_tabs.tmpl M www/query_finstances.tmpl M www/query_plan.tmpl M www/query_summary.tmpl M www/query_timeline.tmpl M www/rpcz.tmpl M www/scripts/query_timeline/chart_commons.js M www/scripts/query_timeline/fragment_diagram.js M www/scripts/query_timeline/fragment_metrics_diagram.js M www/scripts/query_timeline/global_dom.js M www/scripts/query_timeline/host_utilization_diagram.js M www/scripts/tests/query_timeline/fragment_diagram.test.js 14 files changed, 306 insertions(+), 204 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/93/21593/5 -- To view, visit http://gerrit.cloudera.org:8080/21593 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ied8a5966e9e4111bf7aa25aee11d23881daad7d2 Gerrit-Change-Number: 21593 Gerrit-PatchSet: 5 Gerrit-Owner: Surya Hebbar <sheb...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Kurt Deschler <kdesc...@cloudera.com> Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com> Gerrit-Reviewer: Surya Hebbar <sheb...@cloudera.com>