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

captainzmc 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 2ad3d34b43 HDDS-9149. [Ozone-Streaming] Add Streaming Write Chunk 
Metrics to datanode (#5168)
2ad3d34b43 is described below

commit 2ad3d34b4348bd1cd428a3e8caabd793247921ae
Author: hao guo <[email protected]>
AuthorDate: Fri Aug 11 10:22:28 2023 +0800

    HDDS-9149. [Ozone-Streaming] Add Streaming Write Chunk Metrics to datanode 
(#5168)
---
 .../ozone/container/keyvalue/impl/KeyValueStreamDataChannel.java | 9 ++++++++-
 .../ozone/container/keyvalue/impl/StreamDataChannelBase.java     | 4 ++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/KeyValueStreamDataChannel.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/KeyValueStreamDataChannel.java
index e34a1e273c..185ad9c001 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/KeyValueStreamDataChannel.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/KeyValueStreamDataChannel.java
@@ -27,6 +27,7 @@ import 
org.apache.hadoop.hdds.scm.container.common.helpers.StorageContainerExcep
 import org.apache.hadoop.hdds.scm.storage.BlockDataStreamOutput;
 import org.apache.hadoop.ozone.container.common.helpers.ContainerMetrics;
 import org.apache.hadoop.ozone.container.common.impl.ContainerData;
+import org.apache.hadoop.util.Time;
 import org.apache.ratis.thirdparty.com.google.protobuf.ByteString;
 import org.apache.ratis.thirdparty.io.netty.buffer.ByteBuf;
 import org.apache.ratis.thirdparty.io.netty.buffer.Unpooled;
@@ -163,8 +164,14 @@ public class KeyValueStreamDataChannel extends 
StreamDataChannelBase {
   @Override
   public int write(ReferenceCountedObject<ByteBuffer> referenceCounted)
       throws IOException {
+    getMetrics().incContainerOpsMetrics(getType());
     assertOpen();
-    return writeBuffers(referenceCounted, buffers, super::writeFileChannel);
+
+    final long l = Time.monotonicNow();
+    int len = writeBuffers(referenceCounted, buffers, super::writeFileChannel);
+    getMetrics()
+        .incContainerOpsLatencies(getType(), Time.monotonicNow() - l);
+    return len;
   }
 
   static int writeBuffers(ReferenceCountedObject<ByteBuffer> src,
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/StreamDataChannelBase.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/StreamDataChannelBase.java
index 58fc2c348b..810495b2a7 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/StreamDataChannelBase.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/impl/StreamDataChannelBase.java
@@ -139,6 +139,10 @@ abstract class StreamDataChannelBase
     }
   }
 
+  public ContainerMetrics getMetrics() {
+    return metrics;
+  }
+
   @Override
   public String toString() {
     return getClass().getSimpleName() + "{" +


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to