KPI metrics example in simulated_olt
Change-Id: I9e5c8e72c15e284ea1c21fea295c67d9426224ef
diff --git a/voltha/core/adapter_agent.py b/voltha/core/adapter_agent.py
index 2313bb1..748872b 100644
--- a/voltha/core/adapter_agent.py
+++ b/voltha/core/adapter_agent.py
@@ -30,6 +30,7 @@
from voltha.adapters.interface import IAdapterAgent
from voltha.protos import third_party
from voltha.protos.device_pb2 import Device, Port
+from voltha.protos.events_pb2 import KpiEvent
from voltha.protos.voltha_pb2 import DeviceGroup, LogicalDevice, \
LogicalPort, AdminState
from voltha.registry import registry
@@ -305,3 +306,12 @@
topic = 'packet-in:' + logical_device_id
self.event_bus.publish(topic, (logical_port_no, packet))
+
+ # ~~~~~~~~~~~~~~~~~~~ Handling KPI metric submissions ~~~~~~~~~~~~~~~~~~~~~
+ def submit_kpis(self, kpi_event_msg):
+ try:
+ assert isinstance(kpi_event_msg, KpiEvent)
+ self.event_bus.publish('kpis', kpi_event_msg)
+ except Exception as e:
+ self.log.exception('failed-kpi-submission',
+ type=type(kpi_event_msg))