This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new b74e38c5c28 [chore](profile) add task state in profile (#42895)
b74e38c5c28 is described below

commit b74e38c5c28bdb5bc2c13af89d3d7ce982470bfa
Author: Jerry Hu <mrh...@gmail.com>
AuthorDate: Thu Oct 31 14:13:31 2024 +0800

    [chore](profile) add task state in profile (#42895)
    
    ## Proposed changes
    
    Issue Number: close #xxx
    
    <!--Describe your changes.-->
---
 be/src/pipeline/exec/scan_operator.cpp | 1 +
 be/src/pipeline/pipeline_task.cpp      | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git a/be/src/pipeline/exec/scan_operator.cpp 
b/be/src/pipeline/exec/scan_operator.cpp
index 024a737e157..6200f3b12ce 100644
--- a/be/src/pipeline/exec/scan_operator.cpp
+++ b/be/src/pipeline/exec/scan_operator.cpp
@@ -1281,6 +1281,7 @@ Status 
ScanOperatorX<LocalStateType>::get_block(RuntimeState* state, vectorized:
     if (*eos) {
         // reach limit, stop the scanners.
         local_state._scanner_ctx->stop_scanners(state);
+        local_state._scanner_profile->add_info_string("EOS", "True");
     }
 
     return Status::OK();
diff --git a/be/src/pipeline/pipeline_task.cpp 
b/be/src/pipeline/pipeline_task.cpp
index e06b8028c9c..a8213b31ba8 100644
--- a/be/src/pipeline/pipeline_task.cpp
+++ b/be/src/pipeline/pipeline_task.cpp
@@ -247,6 +247,12 @@ bool PipelineTask::_wait_to_start() {
 }
 
 bool PipelineTask::_is_blocked() {
+    Defer defer([this] {
+        if (_blocked_dep != nullptr) {
+            _task_profile->add_info_string("TaskState", "Blocked");
+            _task_profile->add_info_string("BlockedByDependency", 
_blocked_dep->name());
+        }
+    });
     // `_dry_run = true` means we do not need data from source operator.
     if (!_dry_run) {
         for (int i = _read_dependencies.size() - 1; i >= 0; i--) {
@@ -328,6 +334,8 @@ Status PipelineTask::execute(bool* eos) {
         RETURN_IF_ERROR(_open());
     }
 
+    _task_profile->add_info_string("TaskState", "Runnable");
+    _task_profile->add_info_string("BlockedByDependency", "");
     while (!_fragment_context->is_canceled()) {
         if (_is_blocked()) {
             return Status::OK();
@@ -391,6 +399,7 @@ Status PipelineTask::execute(bool* eos) {
             *eos = status.is<ErrorCode::END_OF_FILE>() ? true : *eos;
             if (*eos) { // just return, the scheduler will do finish work
                 _eos = true;
+                _task_profile->add_info_string("TaskState", "Finished");
                 return Status::OK();
             }
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to