You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ru...@apache.org on 2021/01/22 01:57:03 UTC
[ozone] branch master updated: HDDS-4725. Change metrics unit from
nanosecond to millisecond (#1823)
This is an automated email from the ASF dual-hosted git repository.
runzhiwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new b83d4b2 HDDS-4725. Change metrics unit from nanosecond to millisecond (#1823)
b83d4b2 is described below
commit b83d4b2fd18a6e13b840cad1c0ece8be598f803e
Author: Hui Fei <fe...@apache.org>
AuthorDate: Fri Jan 22 09:56:46 2021 +0800
HDDS-4725. Change metrics unit from nanosecond to millisecond (#1823)
---
.../main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 8 ++++----
.../java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java | 4 ++--
.../main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java | 4 ++--
.../hadoop/ozone/container/common/helpers/ContainerMetrics.java | 6 +++---
.../apache/hadoop/ozone/container/common/impl/HddsDispatcher.java | 5 +++--
.../ozone/container/common/transport/server/ratis/CSMMetrics.java | 7 ++++---
.../common/transport/server/ratis/ContainerStateMachine.java | 2 +-
.../apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java | 5 +++--
.../apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java | 4 ++--
.../ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java | 4 ++--
10 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
index 941b19e..fb8ba52 100644
--- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
+++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
@@ -468,7 +468,7 @@ public class XceiverClientGrpc extends XceiverClientSpi {
final CompletableFuture<ContainerCommandResponseProto> replyFuture =
new CompletableFuture<>();
semaphore.acquire();
- long requestTime = System.nanoTime();
+ long requestTime = System.currentTimeMillis();
metrics.incrPendingContainerOpsMetrics(request.getCmdType());
// create a new grpc stream for each non-async call.
@@ -482,7 +482,7 @@ public class XceiverClientGrpc extends XceiverClientSpi {
public void onNext(ContainerCommandResponseProto value) {
replyFuture.complete(value);
metrics.decrPendingContainerOpsMetrics(request.getCmdType());
- long cost = System.nanoTime() - requestTime;
+ long cost = System.currentTimeMillis() - requestTime;
metrics.addContainerOpsLatency(request.getCmdType(),
cost);
if (LOG.isDebugEnabled()) {
@@ -497,9 +497,9 @@ public class XceiverClientGrpc extends XceiverClientSpi {
public void onError(Throwable t) {
replyFuture.completeExceptionally(t);
metrics.decrPendingContainerOpsMetrics(request.getCmdType());
- long cost = System.nanoTime() - requestTime;
+ long cost = System.currentTimeMillis() - requestTime;
metrics.addContainerOpsLatency(request.getCmdType(),
- System.nanoTime() - requestTime);
+ System.currentTimeMillis() - requestTime);
if (LOG.isDebugEnabled()) {
LOG.debug("Executed command {} on datanode {}, cost = {}, "
+ "cmdType = {}", request, dn,
diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java
index 89a2592..399c520 100644
--- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java
+++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientMetrics.java
@@ -92,8 +92,8 @@ public class XceiverClientMetrics {
}
public void addContainerOpsLatency(ContainerProtos.Type type,
- long latencyNanos) {
- containerOpsLatency[type.ordinal()].add(latencyNanos);
+ long latencyMillis) {
+ containerOpsLatency[type.ordinal()].add(latencyMillis);
}
public long getPendingContainerOpCountMetrics(ContainerProtos.Type type) {
diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java
index 49f0cca..b6cd216 100644
--- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java
+++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientRatis.java
@@ -301,7 +301,7 @@ public final class XceiverClientRatis extends XceiverClientSpi {
public XceiverClientReply sendCommandAsync(
ContainerCommandRequestProto request) {
XceiverClientReply asyncReply = new XceiverClientReply(null);
- long requestTime = System.nanoTime();
+ long requestTime = System.currentTimeMillis();
CompletableFuture<RaftClientReply> raftClientReply =
sendRequestAsync(request);
metrics.incrPendingContainerOpsMetrics(request.getCmdType());
@@ -315,7 +315,7 @@ public final class XceiverClientRatis extends XceiverClientSpi {
}
metrics.decrPendingContainerOpsMetrics(request.getCmdType());
metrics.addContainerOpsLatency(request.getCmdType(),
- System.nanoTime() - requestTime);
+ System.currentTimeMillis() - requestTime);
}).thenApply(reply -> {
try {
if (!reply.isSuccess()) {
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerMetrics.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerMetrics.java
index e07f626..970251c 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerMetrics.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerMetrics.java
@@ -111,10 +111,10 @@ public class ContainerMetrics {
}
public void incContainerOpsLatencies(ContainerProtos.Type type,
- long latencyNanos) {
- opsLatency[type.ordinal()].add(latencyNanos);
+ long latencyMillis) {
+ opsLatency[type.ordinal()].add(latencyMillis);
for (MutableQuantiles q: opsLatQuantiles[type.ordinal()]) {
- q.add(latencyNanos);
+ q.add(latencyMillis);
}
}
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java
index 13c1780..cfbec1c 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/HddsDispatcher.java
@@ -193,7 +193,7 @@ public class HddsDispatcher implements ContainerDispatcher, Auditor {
ContainerType containerType;
ContainerCommandResponseProto responseProto = null;
- long startTime = System.nanoTime();
+ long startTime = System.currentTimeMillis();
Type cmdType = msg.getCmdType();
long containerID = msg.getContainerID();
metrics.incContainerOpsMetrics(cmdType);
@@ -308,7 +308,8 @@ public class HddsDispatcher implements ContainerDispatcher, Auditor {
}
responseProto = handler.handle(msg, container, dispatcherContext);
if (responseProto != null) {
- metrics.incContainerOpsLatencies(cmdType, System.nanoTime() - startTime);
+ metrics.incContainerOpsLatencies(cmdType,
+ System.currentTimeMillis() - startTime);
// If the request is of Write Type and the container operation
// is unsuccessful, it implies the applyTransaction on the container
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/CSMMetrics.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/CSMMetrics.java
index 76e10fb..6348db3 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/CSMMetrics.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/CSMMetrics.java
@@ -193,9 +193,10 @@ public class CSMMetrics {
return applyTransaction;
}
- public void incPipelineLatency(ContainerProtos.Type type, long latencyNanos) {
- opsLatency[type.ordinal()].add(latencyNanos);
- transactionLatency.add(latencyNanos);
+ public void incPipelineLatency(ContainerProtos.Type type,
+ long latencyMillis) {
+ opsLatency[type.ordinal()].add(latencyMillis);
+ transactionLatency.add(latencyMillis);
}
public void incNumStartTransactionVerifyFailures() {
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
index 5182279..de2a058 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
@@ -764,7 +764,7 @@ public class ContainerStateMachine extends BaseStateMachine {
&& trx.getStateMachineContext() != null) {
long startTime = (long) trx.getStateMachineContext();
metrics.incPipelineLatency(cmdType,
- Time.monotonicNowNanos() - startTime);
+ (Time.monotonicNowNanos() - startTime) / 1000000L);
}
// ignore close container exception while marking the stateMachine
// unhealthy
diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
index 87d238c..5996bda 100644
--- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
+++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
@@ -82,11 +82,12 @@ public class OzoneProtocolMessageDispatcher<REQUEST, RESPONSE, TYPE> {
serviceName, type);
}
- long startTime = System.nanoTime();
+ long startTime = System.currentTimeMillis();
RESPONSE response = methodCall.apply(request);
- protocolMessageMetrics.increment(type, System.nanoTime() - startTime);
+ protocolMessageMetrics.increment(type,
+ System.currentTimeMillis() - startTime);
if (logger.isTraceEnabled()) {
logger.trace(
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
index 89960b9..dea0d5d 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
@@ -283,7 +283,7 @@ public final class OzoneManagerDoubleBuffer {
return null;
});
- long startTime = Time.monotonicNowNanos();
+ long startTime = Time.monotonicNow();
flushBatchWithTrace(lastTraceId.get(), readyBuffer.size(),
(SupplierWithIOException<Void>) () -> {
omMetadataManager.getStore().commitBatchOperation(
@@ -291,7 +291,7 @@ public final class OzoneManagerDoubleBuffer {
return null;
});
ozoneManagerDoubleBufferMetrics.updateFlushTime(
- Time.monotonicNowNanos() - startTime);
+ Time.monotonicNow() - startTime);
}
// Complete futures first and then do other things. So, that
diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java
index 411d6c5..0d8cc7e 100644
--- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java
+++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java
@@ -325,9 +325,9 @@ public class OzoneManagerServiceProviderImpl
boolean updateReconOmDBWithNewSnapshot() throws IOException {
// Obtain the current DB snapshot from OM and
// update the in house OM metadata managed DB instance.
- long startTime = Time.monotonicNowNanos();
+ long startTime = Time.monotonicNow();
DBCheckpoint dbSnapshot = getOzoneManagerDBSnapshot();
- metrics.updateSnapshotRequestLatency(Time.monotonicNowNanos() - startTime);
+ metrics.updateSnapshotRequestLatency(Time.monotonicNow() - startTime);
if (dbSnapshot != null && dbSnapshot.getCheckpointLocation() != null) {
LOG.info("Got new checkpoint from OM : " +
dbSnapshot.getCheckpointLocation());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org