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]