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

hui pushed a commit to branch QueryMetrics0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit e8375a03dac5464e3e4054604eeff3fc5fe84d03
Author: Minghui Liu <[email protected]>
AuthorDate: Mon Nov 7 14:00:53 2022 +0800

    add metrics (Parser/Planner)
---
 server/src/main/java/org/apache/iotdb/db/qp/Planner.java | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java 
b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
index 06bb083801..a06f3b8c46 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/Planner.java
@@ -38,6 +38,7 @@ import 
org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
 import org.apache.iotdb.db.qp.strategy.optimizer.DnfFilterOptimizer;
 import org.apache.iotdb.db.qp.strategy.optimizer.MergeSingleFilterOptimizer;
 import org.apache.iotdb.db.qp.strategy.optimizer.RemoveNotOptimizer;
+import org.apache.iotdb.db.query.control.QueryStatistics;
 import org.apache.iotdb.service.rpc.thrift.TSLastDataQueryReq;
 import org.apache.iotdb.service.rpc.thrift.TSRawDataQueryReq;
 
@@ -59,8 +60,19 @@ public class Planner {
       String sqlStr, ZoneId zoneId, IoTDBConstant.ClientVersion clientVersion)
       throws QueryProcessException {
     // from SQL to logical operator
+    long t1 = System.nanoTime();
     Operator operator = LogicalGenerator.generate(sqlStr, zoneId, 
clientVersion);
-    return generatePhysicalPlanFromOperator(operator, clientVersion);
+    if (operator.isQuery()) {
+      QueryStatistics.getInstance().addCost(QueryStatistics.PARSER, 
System.nanoTime() - t1);
+    }
+
+    long t2 = System.nanoTime();
+    PhysicalPlan physicalPlan = generatePhysicalPlanFromOperator(operator, 
clientVersion);
+    if (operator.isQuery()) {
+      QueryStatistics.getInstance().addCost(QueryStatistics.PLANNER, 
System.nanoTime() - t2);
+    }
+
+    return physicalPlan;
   }
 
   /** convert raw data query to physical plan directly */

Reply via email to