This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch cluster_tpc
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/cluster_tpc by this push:
new 38badc6 add more timers
38badc6 is described below
commit 38badc6a97dbb605e0965ca2773aa6c4fd0b9803
Author: jt <[email protected]>
AuthorDate: Thu Oct 8 15:22:51 2020 +0800
add more timers
---
.../org/apache/iotdb/db/engine/StorageEngine.java | 4 ++--
.../engine/storagegroup/StorageGroupProcessor.java | 7 ++++++
.../db/engine/storagegroup/TsFileProcessor.java | 8 +++++++
.../main/java/org/apache/iotdb/db/utils/Timer.java | 25 ++++++++++++++--------
4 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 0e15393..68dcce4 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -452,7 +452,7 @@ public class StorageEngine implements IService {
start = System.nanoTime();
}
processor.writeLock();
- Statistic.CLOSE_FILE_LOCK_PROCESSOR.addNanoFromStart(start);
+ Statistic.CLOSE_FILE_LOCK_SG_PROCESSOR.addNanoFromStart(start);
// to avoid concurrent modification problem, we need a new array list
List<TsFileProcessor> processors = isSeq ?
new ArrayList<>(processor.getWorkSequenceTsFileProcessors()) :
@@ -468,7 +468,7 @@ public class StorageEngine implements IService {
} else {
processor.asyncCloseOneTsFileProcessor(isSeq, tsfileProcessor);
}
- Statistic.CLOSE_FILE_CLOSE_PROCESSOR.addNanoFromStart(start);
+ Statistic.CLOSE_FILE_CLOSE_SG_PROCESSOR.addNanoFromStart(start);
break;
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index e2fa4d0..3a1cbba 100755
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -88,6 +88,8 @@ import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.db.service.UpgradeSevice;
import org.apache.iotdb.db.utils.CopyOnReadLinkedList;
import org.apache.iotdb.db.utils.TestOnly;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
import org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
@@ -1038,7 +1040,12 @@ public class StorageGroupProcessor {
if (sequence) {
closingSequenceTsFileProcessor.add(tsFileProcessor);
updateEndTimeMap(tsFileProcessor);
+ long start;
+ if (Timer.ENABLE_INSTRUMENTING) {
+ start = System.nanoTime();
+ }
tsFileProcessor.asyncClose();
+ Statistic.CLOSE_FILE_CLOSE_TSFILE_PROCESSOR.addNanoFromStart(start);
workSequenceTsFileProcessors.remove(tsFileProcessor.getTimeRangeId());
// if unsequence files don't contain this time range id, we should
remove it's version controller
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index 39efcf0..1140f36 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -22,6 +22,7 @@ import static
org.apache.iotdb.db.conf.adapter.IoTDBConfigDynamicAdapter.MEMTABL
import java.io.File;
import java.io.IOException;
+import java.sql.Time;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -54,6 +55,8 @@ import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.rescon.MemTablePool;
import org.apache.iotdb.db.utils.QueryUtils;
+import org.apache.iotdb.db.utils.Timer;
+import org.apache.iotdb.db.utils.Timer.Statistic;
import org.apache.iotdb.db.writelog.manager.MultiFileLogNodeManager;
import org.apache.iotdb.db.writelog.node.WriteLogNode;
import org.apache.iotdb.rpc.RpcUtils;
@@ -376,6 +379,10 @@ public class TsFileProcessor {
//we have to add the memtable into flushingList first and then set the
shouldClose tag.
// see https://issues.apache.org/jira/browse/IOTDB-510
+ long start;
+ if (Timer.ENABLE_INSTRUMENTING) {
+ start = System.nanoTime();
+ }
IMemTable tmpMemTable = workMemTable == null || workMemTable.memSize()
== 0
? new NotifyFlushMemTable()
: workMemTable;
@@ -388,6 +395,7 @@ public class TsFileProcessor {
logger.error("{}: {} async close failed, because", storageGroupName,
tsFileResource.getTsFile().getName(), e);
}
+ Statistic.CLOSE_FILE_MOVE_MEMTABLE_TO_FLUSH.addNanoFromStart(start);
} finally {
flushQueryLock.writeLock().unlock();
if (logger.isDebugEnabled()) {
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
b/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
index 1a63320..e5053e1 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/Timer.java
@@ -31,9 +31,10 @@ public class Timer {
private static final String META_GROUP_MEMBER = "Meta group member";
private static final String DATA_GROUP_MEMBER = "Data group member";
- private static final String RAFT_MEMBER_SENDER = " Raft member(sender)";
- private static final String RAFT_MEMBER_RECEIVER = " Raft member(receiver)";
+ private static final String RAFT_MEMBER_SENDER = "Raft member(sender)";
+ private static final String RAFT_MEMBER_RECEIVER = "Raft member(receiver)";
private static final String LOG_DISPATCHER = "Log dispatcher";
+ private static final String STORAGE_ENGINE = "Storage Engine";
// convert nano to milli
private static final double TIME_SCALE = 1_000_000.0;
@@ -161,15 +162,21 @@ public class Timer {
LOG_DISPATCHER_FROM_CREATE_TO_END(
LOG_DISPATCHER, "from create to end", TIME_SCALE, true,
META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP),
- // stand-alone operations
+ // storage engine
CLOSE_FILE(
- RAFT_MEMBER_SENDER, "close file", TIME_SCALE, true,
- RAFT_SENDER_CLOSE_FILE_LOG_APPLY),
- CLOSE_FILE_LOCK_PROCESSOR(
- RAFT_MEMBER_SENDER, "close file - lock processor", TIME_SCALE, true,
+ STORAGE_ENGINE, "close file", TIME_SCALE, true,
+ ROOT),
+ CLOSE_FILE_LOCK_SG_PROCESSOR(
+ STORAGE_ENGINE, "close file - lock SG processor", TIME_SCALE, true,
CLOSE_FILE),
- CLOSE_FILE_CLOSE_PROCESSOR(
- RAFT_MEMBER_SENDER, "close file - close processor", TIME_SCALE, true,
+ CLOSE_FILE_CLOSE_SG_PROCESSOR(
+ STORAGE_ENGINE, "close file - close SG processor", TIME_SCALE, true,
+ CLOSE_FILE),
+ CLOSE_FILE_CLOSE_TSFILE_PROCESSOR(
+ STORAGE_ENGINE, "close file - close TsFile processor", TIME_SCALE,
true,
+ CLOSE_FILE),
+ CLOSE_FILE_MOVE_MEMTABLE_TO_FLUSH(
+ STORAGE_ENGINE, "close file - move memtable to flush", TIME_SCALE,
true,
CLOSE_FILE);