diff --git a/voltha/extensions/kpi/onu/onu_pm_interval_metrics.py b/voltha/extensions/kpi/onu/onu_pm_interval_metrics.py
index 46d0e2a..bf6ac03 100644
--- a/voltha/extensions/kpi/onu/onu_pm_interval_metrics.py
+++ b/voltha/extensions/kpi/onu/onu_pm_interval_metrics.py
@@ -63,6 +63,9 @@
             ('class_id', PmConfig.CONTEXT),
             ('entity_id', PmConfig.CONTEXT),
             ("interval_end_time", PmConfig.CONTEXT),
+            ('parent_class_id', PmConfig.CONTEXT),
+            ('parent_entity_id', PmConfig.CONTEXT),
+            ('upstream', PmConfig.CONTEXT),
 
             ("drop_events", PmConfig.COUNTER),
             ("octets", PmConfig.COUNTER),
diff --git a/voltha/extensions/omci/state_machines/performance_intervals.py b/voltha/extensions/omci/state_machines/performance_intervals.py
index 486eba8..8144a56 100644
--- a/voltha/extensions/omci/state_machines/performance_intervals.py
+++ b/voltha/extensions/omci/state_machines/performance_intervals.py
@@ -158,6 +158,7 @@
 
         # (Class ID, Instance ID) -> Collect attempts remaining
         self._pm_me_collect_retries = dict()
+        self._pm_me_extended_info = dict()
         self._add_pm_me = dict()        # (pm cid, pm eid) -> (me cid, me eid, upstream)
         self._del_pm_me = set()
 
@@ -503,6 +504,7 @@
             # an already-exists status code which we consider successful
             for pm, me in mes.items():
                 self._pm_me_collect_retries[pm] = self.pm_collected(pm)
+                self._pm_me_extended_info[pm] = me
 
             self._current_task = None
             self._deferred = reactor.callLater(0, self.success)
@@ -598,8 +600,23 @@
 
                 # start the task
                 self.log.info('collect-task-start')
+
+                if key in self._pm_me_extended_info:
+                    self.log.debug('collect-extended-info-found', key=key, extended_info=self._pm_me_extended_info[key])
+                    parent_class_id = self._pm_me_extended_info[key][0]
+                    parent_entity_id = self._pm_me_extended_info[key][1]
+                    upstream = self._pm_me_extended_info[key][2]
+                else:
+                    self.log.debug('collect-extended-info-not-found', key=key)
+                    parent_class_id = None
+                    parent_entity_id = None
+                    upstream = None
+
                 self._current_task = self._get_interval_task(self._agent, self._device_id,
-                                                             class_id, entity_id)
+                                                             class_id, entity_id,
+                                                             parent_class_id=parent_class_id,
+                                                             parent_entity_id=parent_entity_id,
+                                                             upstream=upstream)
                 self._task_deferred = self._device.task_runner.queue_task(self._current_task)
                 self._task_deferred.addCallbacks(success, failure)
                 self._task_deferred.addCallback(self.publish_data)
diff --git a/voltha/extensions/omci/tasks/interval_data_task.py b/voltha/extensions/omci/tasks/interval_data_task.py
index 9475cd8..369f817 100644
--- a/voltha/extensions/omci/tasks/interval_data_task.py
+++ b/voltha/extensions/omci/tasks/interval_data_task.py
@@ -34,7 +34,10 @@
     max_payload = 29
 
     def __init__(self, omci_agent, device_id, class_id, entity_id,
-                 max_get_response_payload=max_payload):
+                 max_get_response_payload=max_payload,
+                 parent_class_id=None,
+                 parent_entity_id=None,
+                 upstream=None):
         """
         Class initialization
 
@@ -54,6 +57,10 @@
         self._class_id = class_id
         self._entity_id = entity_id
 
+        self._parent_class_id = parent_class_id
+        self._parent_entity_id = parent_entity_id
+        self._upstream = upstream
+
         me_map = self.omci_agent.get_device(self.device_id).me_map
         if self._class_id not in me_map:
             msg = "The requested ME Class () does not exist in the ONU's ME Map".format(self._class_id)
@@ -116,6 +123,9 @@
             'entity_id': self._entity_id,
             'me_name': self._entity.__name__,   # Mostly for debugging...
             'interval_utc_time': None,
+            'parent_class_id': self._parent_class_id,
+            'parent_entity_id': self._parent_entity_id,
+            'upstream': self._upstream
             # Counters added here as they are retrieved
         }
         last_end_time = None
