diff --git a/provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/messageBus/ProcessNotification.java b/provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/messageBus/ProcessNotification.java
index 21b79cdc0859343dfc512e8d5a87bcd228969226..20a0efee2de2072929bbab0df3b36271e1f5e37d 100644
--- a/provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/messageBus/ProcessNotification.java
+++ b/provider/notification-azure/src/main/java/org/opengroup/osdu/notification/provider/azure/messageBus/ProcessNotification.java
@@ -32,6 +32,8 @@ import org.slf4j.MDC;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 import org.springframework.stereotype.Component;
+import java.util.concurrent.ConcurrentMap;
+import java.util.Date;
 
 @Component
 @ConditionalOnExpression("${azure.serviceBus.enabled:true} || ${azure.eventGridToServiceBus.enabled:true}")
@@ -50,7 +52,7 @@ public class ProcessNotification {
     public void performNotification(IMessage message, String subscriptionName) throws Exception {
         TelemetryClient telemetryClient = new TelemetryClient();
         StopWatch stopWatch = new StopWatch();
-        stopWatch.start();
+        stopWatch.start();        
 
         try {
             NotificationContent notificationContent = requestBodyAdapter.extractNotificationContent(message, subscriptionName);
@@ -58,13 +60,9 @@ public class ProcessNotification {
             String dataPartitionId = notificationContent.getExtractAttributes().get(DpsHeaders.DATA_PARTITION_ID);
             String correlationId = notificationContent.getExtractAttributes().get(DpsHeaders.CORRELATION_ID);
 
-            MDC.setContextMap(mdcContextMap.getContextMap(correlationId, dataPartitionId));
-            dpsHeaders.setThreadContext(dataPartitionId, correlationId);
-
-            LOGGER.info("Notification process started for message with id: {}", message.getMessageId());
-
-            HttpResponse response = notificationHandler.notifySubscriber(notificationContent.getNotificationId(),
-                    notificationContent.getData(), notificationContent.getExtractAttributes());
+            ConcurrentMap properties = telemetryClient.getContext().getProperties();
+            properties.put("correlation-id",correlationId);
+            properties.put("data-partition-id", dataPartitionId); 
 
             RequestTelemetry requestTelemetry = new RequestTelemetry(
                 "SBQueueRequest",
@@ -72,8 +70,16 @@ public class ProcessNotification {
                 stopWatch.getTime(),
                 "500",
                 false);
-
             requestTelemetry.setId(message.getMessageId());
+            
+            MDC.setContextMap(mdcContextMap.getContextMap(correlationId, dataPartitionId));
+            dpsHeaders.setThreadContext(dataPartitionId, correlationId);
+
+            LOGGER.info("Notification process started for message with id: {}", message.getMessageId());
+
+            HttpResponse response = notificationHandler.notifySubscriber(notificationContent.getNotificationId(),
+                    notificationContent.getData(), notificationContent.getExtractAttributes());
+                                           
             if (!response.isSuccessCode()) {
                 telemetryClient.trackRequest(requestTelemetry); 
                 throw new Exception(NOT_ACKNOWLEDGE);
@@ -83,11 +89,12 @@ public class ProcessNotification {
                 telemetryClient.trackRequest(requestTelemetry);
             }
         } catch (Exception e) {
-            LOGGER.error(String.format("An error occurred performing Notification for message with ID: ", message.getMessageId()), e);
+            LOGGER.error(String.format("An error occurred performing Notification for message with ID: ", message.getMessageId()), e);            
             throw e;
         } finally {
             ThreadScopeContextHolder.getContext().clear();
             MDC.clear();
+            stopWatch.stop();
         }
     }
 }