This is an automated email from the ASF dual-hosted git repository.
xingtanzjr pushed a commit to branch ml_0729_test_exp1
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ml_0729_test_exp1 by this push:
new 292b0743b0 add more metrics
292b0743b0 is described below
commit 292b0743b0a36c8089757cfdd4e33992854269ab
Author: Jinrui.Zhang <[email protected]>
AuthorDate: Fri Aug 5 09:29:33 2022 +0800
add more metrics
---
.../service/MultiLeaderRPCServiceProcessor.java | 2 ++
.../consensus/statemachine/BaseStateMachine.java | 28 +++++++++++++---------
.../statemachine/DataRegionStateMachine.java | 4 ++++
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git
a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
index 8f2fbc7080..a9c97fa4d0 100644
---
a/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
+++
b/consensus/src/main/java/org/apache/iotdb/consensus/multileader/service/MultiLeaderRPCServiceProcessor.java
@@ -97,7 +97,9 @@ public class MultiLeaderRPCServiceProcessor implements
MultiLeaderConsensusIServ
impl.buildIndexedConsensusRequestForRemoteRequest(
currentSearchIndex, consensusRequests));
}
+ long followerWriteRequestStartTime = System.nanoTime();
impl.getStateMachine().multiLeaderWriteAsync(indexedConsensusRequests,
resultHandler);
+ StepTracker.trace("followerWriteRequest",
followerWriteRequestStartTime, System.nanoTime());
}
} catch (Exception e) {
resultHandler.onError(e);
diff --git
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
index 245a44adc2..27d696129f 100644
---
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
+++
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/BaseStateMachine.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.consensus.statemachine;
+import org.apache.iotdb.commons.StepTracker;
import org.apache.iotdb.consensus.IStateMachine;
import org.apache.iotdb.consensus.common.request.ByteBufferConsensusRequest;
import org.apache.iotdb.consensus.common.request.IConsensusRequest;
@@ -61,17 +62,22 @@ public abstract class BaseStateMachine implements
IStateMachine, IStateMachine.E
}
protected PlanNode getPlanNode(IConsensusRequest request) {
- PlanNode node;
- if (request instanceof ByteBufferConsensusRequest) {
- node = PlanNodeType.deserialize(request.serializeToByteBuffer());
- } else if (request instanceof MultiLeaderConsensusRequest) {
- node = WALEntry.deserializeInsertNode(request.serializeToByteBuffer());
- } else if (request instanceof PlanNode) {
- node = (PlanNode) request;
- } else {
- logger.error("Unexpected IConsensusRequest : {}", request);
- throw new IllegalArgumentException("Unexpected IConsensusRequest!");
+ long startTime = System.nanoTime();
+ try {
+ PlanNode node;
+ if (request instanceof ByteBufferConsensusRequest) {
+ node = PlanNodeType.deserialize(request.serializeToByteBuffer());
+ } else if (request instanceof MultiLeaderConsensusRequest) {
+ node = WALEntry.deserializeInsertNode(request.serializeToByteBuffer());
+ } else if (request instanceof PlanNode) {
+ node = (PlanNode) request;
+ } else {
+ logger.error("Unexpected IConsensusRequest : {}", request);
+ throw new IllegalArgumentException("Unexpected IConsensusRequest!");
+ }
+ return node;
+ } finally {
+ StepTracker.trace("deserializePlanNode", startTime, System.nanoTime());
}
- return node;
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
index c88782c5c7..8d403b5c4c 100644
---
a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
+++
b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
@@ -162,6 +162,7 @@ public class DataRegionStateMachine extends
BaseStateMachine {
public void multiLeaderWriteAsync(
List<IndexedConsensusRequest> requests, AsyncMethodCallback<TSyncLogRes>
resultHandler) {
+ long prepareStartTime = System.nanoTime();
List<TSStatus> statuses = new LinkedList<>();
try {
List<InsertNode> insertNodesInAllRequests = new LinkedList<>();
@@ -181,12 +182,15 @@ public class DataRegionStateMachine extends
BaseStateMachine {
cacheAndGetLatestInsertNode(
requests.get(0).getSyncIndex(), insertNodesInAllRequests,
resultHandler);
StepTracker.trace("cacheAndGet", startTime, System.nanoTime());
+ StepTracker.trace("followerWritePrepare", prepareStartTime,
System.nanoTime());
+ long writeStartTime = System.nanoTime();
if (insertNodeWrapper != null) {
for (InsertNode insertNode : insertNodeWrapper.getInsertNodes()) {
statuses.add(write(insertNode));
}
insertNodeWrapper.resultHandler.onComplete(new TSyncLogRes(statuses));
}
+ StepTracker.trace("followerWriteInsert", writeStartTime,
System.nanoTime());
} catch (IllegalArgumentException e) {
logger.error(e.getMessage(), e);
resultHandler.onError(e);