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]