diff --git a/hadoop-hdds/framework/pom.xml b/hadoop-hdds/framework/pom.xml
index 34dcdde921f..1f71a2376f8 100644
--- a/hadoop-hdds/framework/pom.xml
+++ b/hadoop-hdds/framework/pom.xml
@@ -100,6 +100,10 @@
io.opentelemetry
opentelemetry-api
+
+ io.opentelemetry
+ opentelemetry-context
+
io.prometheus
simpleclient
diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
index a0e19664366..94a35d488ab 100644
--- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
+++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/OzoneProtocolMessageDispatcher.java
@@ -19,6 +19,7 @@
import com.google.protobuf.ServiceException;
import io.opentelemetry.api.trace.Span;
+import io.opentelemetry.context.Scope;
import java.util.function.Function;
import org.apache.hadoop.hdds.tracing.TracingUtil;
import org.apache.hadoop.hdds.utils.ProtocolMessageMetrics;
@@ -71,7 +72,7 @@ public RESPONSE processRequest(
TYPE type,
String traceId) throws ServiceException {
Span span = TracingUtil.importAndCreateSpan(type.toString(), traceId);
- try {
+ try (Scope currentScope = span.makeCurrent()) {
if (logger.isTraceEnabled()) {
logger.trace(
"[service={}] [type={}] request is received: {}",