You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2023/09/12 21:01:03 UTC
[impala] branch master updated: IMPALA-12417: Fix query timeline issue during asynchronous codegen
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 89d95f28d IMPALA-12417: Fix query timeline issue during asynchronous codegen
89d95f28d is described below
commit 89d95f28d4252d843bce403beea875c1d221dff3
Author: Surya Hebbar <sh...@cloudera.com>
AuthorDate: Wed Sep 6 18:38:15 2023 +0530
IMPALA-12417: Fix query timeline issue during asynchronous codegen
When ASYNC_CODEGEN = 1, async code generation is enabled,
this switches the compiled function pointers during runtime.
Hence, enabling codegen to run on a parallel thread.
In this case, a new event sequence is added to each fragment's profile.
These additional events exhaust the default phase's colors available
and disturb the correlation between them.
AsyncCodegen events can be skipped to render the fragment diagram
correctly.
Change-Id: I01b29b869b16a5f2f2e398ac7e937f137614d6fe
Reviewed-on: http://gerrit.cloudera.org:8080/20458
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
www/query_timeline.tmpl | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/www/query_timeline.tmpl b/www/query_timeline.tmpl
index 1347b7308..83fe97cd1 100644
--- a/www/query_timeline.tmpl
+++ b/www/query_timeline.tmpl
@@ -272,6 +272,10 @@ function collectFragmentEventsFromProfile(ignored_arg) {
// Build list of timestamps that spans instances for each event
for (var en = 0; en < fevents.length; ++en) {
+ if (fevents[en].label.includes("AsyncCodegen")) {
+ fevents[en].no_bar = true;
+ continue;
+ }
fevents[en].tslist = [ fevents[en].timestamp ];
for (var instance = 1; instance < fp.child_profiles.length; ++instance) {
if (fp.child_profiles[instance].event_sequences != undefined) {