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

sumitagrawal 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 6f04298a549 HDDS-14884. Improve Trace Hierarchy for Freon ockg Command 
(#9980)
6f04298a549 is described below

commit 6f04298a54913a8d2115b643eecc0462237b3d83
Author: sravani <[email protected]>
AuthorDate: Fri Mar 27 14:05:19 2026 +0530

    HDDS-14884. Improve Trace Hierarchy for Freon ockg Command (#9980)
---
 .../apache/hadoop/ozone/freon/BaseFreonGenerator.java  | 18 +++++++++++++++---
 .../hadoop/ozone/freon/OzoneClientKeyGenerator.java    | 15 ++++++++++++---
 2 files changed, 27 insertions(+), 6 deletions(-)

diff --git 
a/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/BaseFreonGenerator.java
 
b/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/BaseFreonGenerator.java
index 9f10ae504b3..541e061b49b 100644
--- 
a/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/BaseFreonGenerator.java
+++ 
b/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/BaseFreonGenerator.java
@@ -24,6 +24,8 @@
 import com.codahale.metrics.ScheduledReporter;
 import com.codahale.metrics.Slf4jReporter;
 import io.opentelemetry.api.trace.StatusCode;
+import io.opentelemetry.context.Context;
+import io.opentelemetry.context.Scope;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.LinkedList;
@@ -164,8 +166,18 @@ private void setup(TaskProvider provider) {
    * tasks in a loop until completion or failure.
    */
   private void startTaskRunners(TaskProvider provider) {
+    Context parentContext = Context.current();
     for (int i = 0; i < threadNo; i++) {
-      executor.execute(() -> taskLoop(provider));
+      executor.execute(() -> taskLoop(provider, parentContext));
+    }
+  }
+
+  /**
+   * Wrapper to set up tracing context before entering runTaskLoop.
+   */
+  private void taskLoop(TaskProvider provider, Context parentContext) {
+    try (Scope ignored = parentContext.makeCurrent()) {
+      runTaskLoop(provider);
     }
   }
 
@@ -173,7 +185,7 @@ private void startTaskRunners(TaskProvider provider) {
    * Runs test tasks in a loop until completion or failure.  This is executed
    * concurrently in {@code executor}.
    */
-  private void taskLoop(TaskProvider provider) {
+  private void runTaskLoop(TaskProvider provider) {
     threadSequenceId.set(id.getAndIncrement());
     while (!completed.get()) {
       long counter = attemptCounter.getAndIncrement();
@@ -184,7 +196,7 @@ private void taskLoop(TaskProvider provider) {
           break;
         }
       } else {
-        //in case of an other failed test, we shouldn't execute more tasks.
+        //in case of another failed test, we shouldn't execute more tasks.
         if (counter >= testNo || (!failAtEnd && failureCounter.get() > 0)) {
           completed.set(true);
           break;
diff --git 
a/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/OzoneClientKeyGenerator.java
 
b/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/OzoneClientKeyGenerator.java
index 15f7c11a63c..e001a40e20c 100644
--- 
a/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/OzoneClientKeyGenerator.java
+++ 
b/hadoop-ozone/freon/src/main/java/org/apache/hadoop/ozone/freon/OzoneClientKeyGenerator.java
@@ -28,6 +28,7 @@
 import org.apache.hadoop.hdds.conf.StorageSize;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType;
+import org.apache.hadoop.hdds.tracing.TracingUtil;
 import org.apache.hadoop.ozone.client.OzoneBucket;
 import org.apache.hadoop.ozone.client.OzoneClient;
 import org.apache.hadoop.ozone.client.io.OzoneDataStreamOutput;
@@ -124,13 +125,21 @@ public Void call() throws Exception {
   }
 
   private void createKey(long counter) throws Exception {
-    final String key = generateObjectName(counter);
+    try (TracingUtil.TraceCloseable scope = 
TracingUtil.createActivatedSpan("createKey")) {
+      createKeyWithData(counter);
+    }
+  }
 
+  private void createKeyWithData(long counter) throws Exception {
+    final String key = generateObjectName(counter);
     timer.time(() -> {
       try (OutputStream stream = bucket.createKey(key, keySize.toBytes(),
           replicationConfig, metadata)) {
-        contentGenerator.write(stream);
-        stream.flush();
+
+        try (TracingUtil.TraceCloseable writeScope = 
TracingUtil.createActivatedSpan("writeKeyData")) {
+          contentGenerator.write(stream);
+          stream.flush();
+        }
       }
       return null;
     });


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

Reply via email to