enb,epc,ms: refactor KPI API
we previously mixed component specific and component agnostic APIs
(stdout vs. log file for example) for setting and retrieving KPI.
This patch propose to use a single abstract get_kpis() method for
all components that can be enriched with component-specific
stuff as desired.
In the case of srsLTE blocks, the main implementation will
remain in srslte_common() and is shared among srsENB/srsUE/srsEPC.
The KPI analyzer in srslte_common() extract and also manages
all three KPI sources (log, csv and stdout) independently.
In addition to the get_kpis() method that always returns a flat
dictionary, it also exposes get_kpi_tree() that return
a dict of KPI dicts that will be used for the Junit.xml generation.
Change-Id: I4bacc6b8a0cb92a581edfb947100b57022265265
diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py
index 6f056fc..aaa96b7 100644
--- a/src/osmo_gsm_tester/obj/epc.py
+++ b/src/osmo_gsm_tester/obj/epc.py
@@ -116,4 +116,8 @@
def run_node(self):
return self._run_node
+ @abstractmethod
+ def get_kpis(self):
+ pass
+
# vim: expandtab tabstop=4 shiftwidth=4