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

jackietien pushed a commit to branch CorrectBlockQueueTime-1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ef2ced6647ed0894caa75e92678868af5eb9d0da
Author: Jackie Tien <[email protected]>
AuthorDate: Fri Feb 7 14:08:56 2025 +0800

    Correct Block Queue Time metric
    
    (cherry picked from commit e7d009cb725c1c030820da4415c7f08e6b742245)
---
 .../queryengine/execution/fragment/FragmentInstanceContext.java   | 8 ++++++++
 .../iotdb/db/queryengine/execution/schedule/DriverScheduler.java  | 8 --------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
index 84797cbfad9..917e378fd66 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
@@ -29,6 +29,7 @@ import org.apache.iotdb.db.queryengine.common.DeviceContext;
 import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
 import org.apache.iotdb.db.queryengine.common.QueryId;
 import org.apache.iotdb.db.queryengine.common.SessionInfo;
+import org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet;
 import org.apache.iotdb.db.queryengine.metric.QueryRelatedResourceMetricSet;
 import org.apache.iotdb.db.queryengine.metric.SeriesScanCostMetricSet;
 import 
org.apache.iotdb.db.queryengine.plan.planner.memory.MemoryReservationManager;
@@ -62,6 +63,8 @@ import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
+import static 
org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet.BLOCK_QUEUED_TIME;
+import static 
org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet.READY_QUEUED_TIME;
 import static 
org.apache.iotdb.db.storageengine.dataregion.VirtualDataRegion.EMPTY_QUERY_DATA_SOURCE;
 
 public class FragmentInstanceContext extends QueryContext {
@@ -750,6 +753,11 @@ public class FragmentInstanceContext extends QueryContext {
 
     // record fragment instance execution time and metadata get time to metrics
     long durationTime = System.currentTimeMillis() - executionStartTime.get();
+    DriverSchedulerMetricSet.getInstance()
+        .recordTaskQueueTime(BLOCK_QUEUED_TIME, blockQueueTime.get());
+    DriverSchedulerMetricSet.getInstance()
+        .recordTaskQueueTime(READY_QUEUED_TIME, readyQueueTime.get());
+
     
QueryRelatedResourceMetricSet.getInstance().updateFragmentInstanceTime(durationTime);
 
     SeriesScanCostMetricSet.getInstance()
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
index 09dab3d7819..a629c151fa9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
@@ -43,7 +43,6 @@ import 
org.apache.iotdb.db.queryengine.execution.schedule.queue.multilevelqueue.
 import 
org.apache.iotdb.db.queryengine.execution.schedule.queue.multilevelqueue.MultilevelPriorityQueue;
 import org.apache.iotdb.db.queryengine.execution.schedule.task.DriverTask;
 import 
org.apache.iotdb.db.queryengine.execution.schedule.task.DriverTaskStatus;
-import org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet;
 import 
org.apache.iotdb.db.storageengine.rescon.quotas.DataNodeThrottleQuotaManager;
 import org.apache.iotdb.db.utils.SetThreadName;
 import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
@@ -66,15 +65,10 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
-import static 
org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet.BLOCK_QUEUED_TIME;
-import static 
org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet.READY_QUEUED_TIME;
-
 /** The manager of fragment instances scheduling. */
 public class DriverScheduler implements IDriverScheduler, IService {
 
   private static final Logger logger = 
LoggerFactory.getLogger(DriverScheduler.class);
-  private static final DriverSchedulerMetricSet DRIVER_SCHEDULER_METRIC_SET =
-      DriverSchedulerMetricSet.getInstance();
   private static final IoTDBConfig config = 
IoTDBDescriptor.getInstance().getConfig();
 
   private static final double LEVEL_TIME_MULTIPLIER = 2;
@@ -480,7 +474,6 @@ public class DriverScheduler implements IDriverScheduler, 
IService {
             .getDriverContext()
             .getFragmentInstanceContext()
             .addBlockQueuedTime(blockQueuedTime);
-        DRIVER_SCHEDULER_METRIC_SET.recordTaskQueueTime(BLOCK_QUEUED_TIME, 
blockQueuedTime);
         task.setLastEnterReadyQueueTime(currentTime);
         task.resetLevelScheduledTime();
         readyQueue.repush(task);
@@ -504,7 +497,6 @@ public class DriverScheduler implements IDriverScheduler, 
IService {
             .getDriverContext()
             .getFragmentInstanceContext()
             .addReadyQueuedTime(readyQueuedTime);
-        DRIVER_SCHEDULER_METRIC_SET.recordTaskQueueTime(READY_QUEUED_TIME, 
readyQueuedTime);
       } finally {
         task.unlock();
       }

Reply via email to