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

felixybw pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new a318b07536 Add waitForPreloadSplitNanos (#11024)
a318b07536 is described below

commit a318b0753651448f49165d0e754ed81a2e5a5bd5
Author: Rui Mo <[email protected]>
AuthorDate: Wed Nov 5 15:37:54 2025 +0800

    Add waitForPreloadSplitNanos (#11024)
    
    Add waitForPreloadSplitNanos in the metric data source add split time.
    
    dataSourceAddSplitWallNanos counts the time when the split isn't prefetched.
    waitForPreloadSplitNanos counts the time when the split is prefetched but 
not finished when table scan read it.
    
    Both metrics count time in table scan thread(main task thread) only.
    
    preloadSplitPrepareTimeNanos counts the accumulated time of all prefetched 
split. It may count time in I/O thread
---
 cpp/velox/compute/WholeStageResultIterator.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cpp/velox/compute/WholeStageResultIterator.cc 
b/cpp/velox/compute/WholeStageResultIterator.cc
index faae3aeffb..1766654f3d 100644
--- a/cpp/velox/compute/WholeStageResultIterator.cc
+++ b/cpp/velox/compute/WholeStageResultIterator.cc
@@ -54,6 +54,7 @@ const std::string kRamReadBytes = "ramReadBytes";
 const std::string kPreloadSplits = "readyPreloadedSplits";
 const std::string kPageLoadTime = "pageLoadTimeNs";
 const std::string kDataSourceAddSplitWallNanos = "dataSourceAddSplitWallNanos";
+const std::string kWaitForPreloadSplitNanos = "waitForPreloadSplitNanos";
 const std::string kDataSourceReadWallNanos = "dataSourceReadWallNanos";
 const std::string kNumWrittenFiles = "numWrittenFiles";
 const std::string kWriteIOTime = "writeIOWallNanos";
@@ -478,7 +479,8 @@ void WholeStageResultIterator::collectMetrics() {
           runtimeMetric("sum", entry.second->customStats, kPreloadSplits);
       metrics_->get(Metrics::kPageLoadTime)[metricIndex] = 
runtimeMetric("sum", second->customStats, kPageLoadTime);
       metrics_->get(Metrics::kDataSourceAddSplitWallNanos)[metricIndex] =
-          runtimeMetric("sum", second->customStats, 
kDataSourceAddSplitWallNanos);
+          runtimeMetric("sum", second->customStats, 
kDataSourceAddSplitWallNanos) +
+          runtimeMetric("sum", second->customStats, kWaitForPreloadSplitNanos);
       metrics_->get(Metrics::kDataSourceReadWallNanos)[metricIndex] =
           runtimeMetric("sum", second->customStats, kDataSourceReadWallNanos);
       metrics_->get(Metrics::kNumWrittenFiles)[metricIndex] =


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to