This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/master by this push:
new 4b4f210c0 IMPALA-12803: Fix missing exchange lines in query timeline
4b4f210c0 is described below
commit 4b4f210c0e662300bd175b54103eb92ed5ca80f5
Author: Surya Hebbar <[email protected]>
AuthorDate: Fri Feb 9 18:45:51 2024 +0530
IMPALA-12803: Fix missing exchange lines in query timeline
Fragment diagram's exchange lines were being overlapped as they
were appended after the plan node's phases.
The issue has been solved by appending the plan node's phases in order,
before exchange lines.
Change-Id: I1d37fda1d2e70e46de19b6acdf932463e3f2adbb
Reviewed-on: http://gerrit.cloudera.org:8080/21024
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
www/scripts/query_timeline/fragment_diagram.js | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/www/scripts/query_timeline/fragment_diagram.js
b/www/scripts/query_timeline/fragment_diagram.js
index 6cf6e774d..65506c771 100644
--- a/www/scripts/query_timeline/fragment_diagram.js
+++ b/www/scripts/query_timeline/fragment_diagram.js
@@ -215,6 +215,11 @@ async function renderFragmentDiagram() {
// Plan node timing row
DrawBars(fragment_svg_group, rownum_l, row_height, node.events,
name_width,
px_per_ns);
+
+ fragment_svg_group.id = fragment.name;
+ fragment_svg_group.addEventListener('click',
updateFragmentMetricsChartOnClick);
+ fragment_diagram.appendChild(fragment_svg_group);
+
if (node.type == "HASH_JOIN_NODE") {
fragment_diagram.appendChild(getSvgText("X",
stroke_fill_colors.black,
name_width + Math.min.apply(null, node.events[2].tslist) *
px_per_ns,
@@ -223,6 +228,10 @@ async function renderFragmentDiagram() {
name_width + Math.min.apply(null, node.events[2].tslist) *
px_per_ns,
text_y, row_height, false));
}
+ } else {
+ fragment_svg_group.id = fragment.name;
+ fragment_svg_group.addEventListener('click',
updateFragmentMetricsChartOnClick);
+ fragment_diagram.appendChild(fragment_svg_group);
}
if (node.is_receiver) {
@@ -287,11 +296,7 @@ async function renderFragmentDiagram() {
pending_fragments.push(fragments[node.sender_frag_index]);
}
}
-
}
- fragment_svg_group.id = fragment.name;
- fragment_svg_group.addEventListener('click',
updateFragmentMetricsChartOnClick);
- fragment_diagram.appendChild(fragment_svg_group);
// Visit sender fragments in reverse order to avoid dag edges crossing
pending_fragments.reverse().forEach(printFragment);