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

avijayan 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 d35da40  HDDS-6098. Add a metric to track amount of data committed. 
(#2913)
d35da40 is described below

commit d35da4091da66a69b7e5749e2719fab7294c7f44
Author: Mukul Kumar Singh <[email protected]>
AuthorDate: Thu Mar 24 23:29:56 2022 +0530

    HDDS-6098. Add a metric to track amount of data committed. (#2913)
---
 .../hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java     |  4 ++++
 .../src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java   | 11 +++++++++++
 .../hadoop/ozone/om/request/key/OMKeyCommitRequest.java       |  1 +
 3 files changed, 16 insertions(+)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java
index 39e4a5c..1b06940 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java
@@ -159,12 +159,16 @@ public class TestSecureOzoneRpcClient extends 
TestOzoneRpcClient {
     for (int i = 0; i < 10; i++) {
       String keyName = UUID.randomUUID().toString();
 
+      long committedBytes = ozoneManager.getMetrics().getDataCommittedBytes();
       try (OzoneOutputStream out = bucket.createKey(keyName,
           value.getBytes(UTF_8).length, ReplicationType.RATIS,
           ReplicationFactor.ONE, new HashMap<>())) {
         out.write(value.getBytes(UTF_8));
       }
 
+      Assert.assertEquals(committedBytes + value.getBytes(UTF_8).length,
+              ozoneManager.getMetrics().getDataCommittedBytes());
+
       OzoneKey key = bucket.getKey(keyName);
       Assert.assertEquals(keyName, key.getName());
       byte[] fileContent;
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
index e002966..40e6184 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
@@ -122,6 +122,9 @@ public class OMMetrics {
   private @Metric MutableCounterLong numLookupFileFails;
   private @Metric MutableCounterLong numListStatusFails;
 
+  // Metrics for total amount of data written
+  private @Metric MutableCounterLong totalDataCommitted;
+
   // Metrics for total number of volumes, buckets and keys
 
   private @Metric MutableCounterLong numVolumes;
@@ -199,6 +202,9 @@ public class OMMetrics {
     numBucketS3DeleteFails.incr();
   }
 
+  public void incDataCommittedBytes(long bytesWritten) {
+    totalDataCommitted.incr(bytesWritten);
+  }
 
   public void incNumS3Buckets() {
     numS3Buckets.incr();
@@ -844,6 +850,11 @@ public class OMMetrics {
     return numBucketS3ListFails.value();
   }
 
+  @VisibleForTesting
+  public long getDataCommittedBytes() {
+    return totalDataCommitted.value();
+  }
+
   public long getNumInitiateMultipartUploads() {
     return numInitiateMultipartUploads.value();
   }
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
index 5aff230..7909c23 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
@@ -310,6 +310,7 @@ public class OMKeyCommitRequest extends OMKeyRequest {
       if (omKeyInfo.getKeyLocationVersions().size() == 1) {
         omMetrics.incNumKeys();
       }
+      omMetrics.incDataCommittedBytes(omKeyInfo.getDataSize());
       LOG.debug("Key committed. Volume:{}, Bucket:{}, Key:{}", volumeName,
               bucketName, keyName);
       break;

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

Reply via email to