Commit 1ad709c4 authored by Paul Graydon's avatar Paul Graydon

ors_wendelin: Clean up

parent ce96be72
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>view_e-rab_accessibility_kpi</string> </value> <value> <string>view_e_rab_accessibility_kpi</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>string:${object_url}/DataAcquisitionUnit_viewE-RABAccessibilityKPI</string> </value> <value> <string>string:${object_url}/DataAcquisitionUnit_viewERabAccessibilityKpi</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>view_e-utran-ip-throughput_kpi</string> </value> <value> <string>view_e_utran_ip_throughput_kpi</string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>permissions</string> </key>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>text</string> </key>
<value> <string>string:${object_url}/DataAcquisitionUnit_viewE-UTRANIPThroughputKPI</string> </value> <value> <string>string:${object_url}/DataAcquisitionUnit_viewEUtranIpThroughputKpi</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
from xlte.amari import kpi as amari_kpi
from xlte import kpi
import io
def load_measurements(alogm):
mlog = kpi.MeasurementLog()
try:
measurement = alogm.read()
while measurement is not None:
mlog.append(measurement)
measurement = alogm.read()
finally:
alogm.close()
return mlog
def calc_periods(mlog, tperiod):
t = mlog.data()[0]['X.Tstart']
for measurement in mlog.data()[1:]:
t_ = measurement['X.Tstart']
if (t_ - t) >= tperiod:
calc = kpi.Calc(mlog, t, t + tperiod)
t = calc.tau_hi
yield calc
def getOrsKpiValues(data):
fxlog = io.StringIO(data)
alogm = amari_kpi.LogMeasure(fxlog, open('/dev/null', 'r'))
mlog = load_measurements(alogm)
vt = []
v_initial_epsb_estab_sr = []
v_added_epsb_estab_sr = []
tperiod = 60 # seconds
for calc in calc_periods(mlog, tperiod):
vt.append(calc.tau_lo)
erab_accessibility = calc.erab_accessibility()
v_initial_epsb_estab_sr.append((erab_accessibility[0]['lo'], erab_accessibility[0]['hi']))
v_added_epsb_estab_sr.append((erab_accessibility[1]['lo'], erab_accessibility[1]['hi']))
evt = []
v_ip_throughput_qci = []
tperiod = 3 # seconds
for calc in calc_periods(mlog, tperiod):
evt.append(calc.tau_lo)
eutran_ip_throughput = calc.eutran_ip_throughput()
period_qci_data = []
for qci, qci_measurement in enumerate(eutran_ip_throughput):
period_qci_data.append((qci, qci_measurement['dl']['lo'], qci_measurement['dl']['hi'], qci_measurement['ul']['lo'], qci_measurement['ul']['hi']))
v_ip_throughput_qci.append(period_qci_data)
return vt, v_initial_epsb_estab_sr, v_added_epsb_estab_sr, evt, v_ip_throughput_qci
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>XlteUtils</string> </value> <value> <string>OrsKpiUtils</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>extension.erp5.XlteUtils</string> </value> <value> <string>extension.erp5.OrsKpiUtils</string> </value>
</item> </item>
<item> <item>
<key> <string>sid</string> </key> <key> <string>sid</string> </key>
......
from xlte.amari import kpi as akpi
from xlte import kpi
import io
#import numpy as np
def load_measurements(alogm):
mlog = kpi.MeasurementLog()
try:
while 1:
m = alogm.read()
if m is None:
break
mlog.append(m)
finally:
alogm.close()
return mlog
def calc_each_period(mlog, tperiod):
t = mlog.data()[0]['X.Tstart']
for m in mlog.data()[1:]:
t_ = m['X.Tstart']
if (t_ - t) >= tperiod:
calc = kpi.Calc(mlog, t, t + tperiod)
t = calc.tau_hi
yield calc
def getORSKPIValue(data):
fxlog = io.StringIO(data)
alogm = akpi.LogMeasure(fxlog, open('/dev/null', 'r'))
mlog = load_measurements(alogm)
vt = []
vInititialEPSBEstabSR = []
vAddedEPSBEstabSR = []
for calc in calc_each_period(mlog, 60): # 60 seconds
vt.append(calc.tau_lo)
x = calc.erab_accessibility() # E-RAB Accessibility
vInititialEPSBEstabSR.append((x[0]['lo'], x[0]['hi']))
vAddedEPSBEstabSR.append((x[1]['lo'], x[1]['hi']))
#vt = np.asarray([x for x in vt])
#vInititialEPSBEstabSR = np.asarray(vInititialEPSBEstabSR)
#vAddedEPSBEstabSR = np.asarray(vAddedEPSBEstabSR)
# E-UTRAN IP Throughput KPI.
evt = []
vIPThp_qci = []
for calc in calc_each_period(mlog, 3): # 3 seconds
evt.append(calc.tau_lo)
x = calc.eutran_ip_throughput() # E-UTRAN IP Throughput
tmp = []
for qci, qci_data in enumerate(x):
tmp.append((qci, qci_data['dl']['lo'], qci_data['dl']['hi'], qci_data['ul']['lo'], qci_data['ul']['hi']))
vIPThp_qci.append(tmp)
# evt = np.asarray([x for x in evt])
# vIPThp_qci = vIPThp_qci
return vt, vInititialEPSBEstabSR, vAddedEPSBEstabSR, evt, vIPThp_qci
...@@ -60,6 +60,10 @@ ...@@ -60,6 +60,10 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>calculate_ors_kpi</string> </value>
</item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <value>
...@@ -68,7 +72,13 @@ ...@@ -68,7 +72,13 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_kpi</string> </value> <value> <string>calculate_ors_kpi</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>script_id</string> </key> <key> <string>script_id</string> </key>
...@@ -76,13 +86,11 @@ ...@@ -76,13 +86,11 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ORS Calculate KPI</string> </value> <value> <string>Calculate ORS KPI</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -152,7 +160,7 @@ ...@@ -152,7 +160,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1017.25284.41439.37888</string> </value> <value> <string>1018.50460.57093.18414</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -172,7 +180,7 @@ ...@@ -172,7 +180,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1718889733.66</float> <float>1724228941.27</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -165,16 +165,16 @@ ...@@ -165,16 +165,16 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>ors_ingest_log_data</string> </value> <value> <string>ingest_ors_enb_log_data</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string>This data operation can be used to ingest ORS log data with fluentd.\n <value> <string>This data operation can be used to ingest ORS eNB log data with fluentd.\n
It assumes the data comes in MsgPack format, and extracts the log contents into a string stored in the Data Stream.</string> </value> It assumes the data comes in MsgPack format, and extracts the log contents into a string appended to the corresponding Data Stream.</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_wendelin_ingest_log_data</string> </value> <value> <string>ingest_ors_enb_log_data</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
...@@ -200,11 +200,11 @@ It assumes the data comes in MsgPack format, and extracts the log contents into ...@@ -200,11 +200,11 @@ It assumes the data comes in MsgPack format, and extracts the log contents into
</item> </item>
<item> <item>
<key> <string>script_id</string> </key> <key> <string>script_id</string> </key>
<value> <string>DataIngestionLine_writeOrsLogFluentdIngestionToDataStream</string> </value> <value> <string>DataIngestionLine_writeOrsFluentdIngestionToDataStream</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ORS Ingest Log Data</string> </value> <value> <string>Ingest ORS eNB Log Data</string> </value>
</item> </item>
<item> <item>
<key> <string>use_list</string> </key> <key> <string>use_list</string> </key>
...@@ -286,7 +286,7 @@ It assumes the data comes in MsgPack format, and extracts the log contents into ...@@ -286,7 +286,7 @@ It assumes the data comes in MsgPack format, and extracts the log contents into
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1017.25596.32627.4386</string> </value> <value> <string>1018.50502.13845.29269</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -306,7 +306,7 @@ It assumes the data comes in MsgPack format, and extracts the log contents into ...@@ -306,7 +306,7 @@ It assumes the data comes in MsgPack format, and extracts the log contents into
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1718891315.33</float> <float>1724234865.94</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Data Operation" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>quantity_unit/unit/piece</string>
</tuple>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>ors_resample_kpi</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ors_resample_kpi</string> </value>
</item>
<item>
<key> <string>script_id</string> </key>
<value> <string>DataAnalysisLine_resampleKPI</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>ORS Resample KPI</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1007.25754.27168.41318</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1680183995.23</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <unicode>zope</unicode> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="DateTime" module="DateTime.DateTime"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<tuple>
<float>1680184003.01</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>ors_end_device</string> </value> <value> <string>ors_enb_log_data</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -81,11 +81,17 @@ ...@@ -81,11 +81,17 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_end_device</string> </value> <value> <string>ors_enb_log_data</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ORS End Device</string> </value> <value> <string>ORS eNB Log Data</string> </value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -155,7 +161,7 @@ ...@@ -155,7 +161,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.25640.16847.37358</string> </value> <value> <string>1018.50461.53741.53828</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -175,7 +181,7 @@ ...@@ -175,7 +181,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680177157.17</float> <float>1724234286.6</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
<key> <string>categories</string> </key> <key> <string>categories</string> </key>
<value> <value>
<tuple> <tuple>
<string>resource/data_product_module/ors_end_device</string> <string>resource/data_product_module/ors_enb_log_data</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>ors_end_device</string> </value> <value> <string>ors_enb_log_data_transformation</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -108,17 +108,15 @@ ...@@ -108,17 +108,15 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_data_transformation</string> </value> <value> <string>ors_enb_log_data_transformation</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ORS End Device Transformation</string> </value> <value> <string>ORS eNB Log Data Transformation</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -231,7 +229,7 @@ ...@@ -231,7 +229,7 @@
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent> <none/>
</value> </value>
</item> </item>
<item> <item>
...@@ -240,7 +238,7 @@ ...@@ -240,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.25837.54663.11793</string> </value> <value> <string>1018.50491.46378.43229</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +258,7 @@ ...@@ -260,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1681374021.36</float> <float>1724231247.96</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -333,40 +331,4 @@ ...@@ -333,40 +331,4 @@
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
<record id="10" aka="AAAAAAAAAAo=">
<pickle>
<global name="Message" module="Products.ERP5Type.Message"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>Deleted objects: ${object_ids}</string> </value>
</item>
<item>
<key> <string>domain</string> </key>
<value> <string>ui</string> </value>
</item>
<item>
<key> <string>mapping</string> </key>
<value>
<dictionary>
<item>
<key> <string>object_ids</string> </key>
<value>
<list>
<string>2</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>message</string> </key>
<value> <string>Deleted objects: ${object_ids}</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData> </ZopeData>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<key> <string>categories</string> </key> <key> <string>categories</string> </key>
<value> <value>
<tuple> <tuple>
<string>resource/data_operation_module/ors_kpi</string> <string>resource/data_operation_module/calculate_ors_kpi</string>
<string>trade_phase/data/convert</string> <string>trade_phase/data/convert</string>
</tuple> </tuple>
</value> </value>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>3</string> </value> <value> <string>convert_raw_data_to_array</string> </value>
</item> </item>
<item> <item>
<key> <string>int_index</string> </key> <key> <string>int_index</string> </key>
......
...@@ -50,12 +50,18 @@ ...@@ -50,12 +50,18 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>5</string> </value> <value> <string>e_rab_out_array</string> </value>
</item> </item>
<item> <item>
<key> <string>int_index</string> </key> <key> <string>int_index</string> </key>
<value> <int>2</int> </value> <value> <int>2</int> </value>
</item> </item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>quantity</string> </key> <key> <string>quantity</string> </key>
<value> <float>1.0</float> </value> <value> <float>1.0</float> </value>
......
...@@ -50,12 +50,18 @@ ...@@ -50,12 +50,18 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>4</string> </value> <value> <string>e_utran_out_array</string> </value>
</item> </item>
<item> <item>
<key> <string>int_index</string> </key> <key> <string>int_index</string> </key>
<value> <int>2</int> </value> <value> <int>2</int> </value>
</item> </item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>quantity</string> </key> <key> <string>quantity</string> </key>
<value> <float>1.0</float> </value> <value> <float>1.0</float> </value>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<value> <value>
<tuple> <tuple>
<string>trade_phase/data/convert</string> <string>trade_phase/data/convert</string>
<string>resource/data_product_module/ors_end_device</string> <string>resource/data_product_module/ors_enb_log_data</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -48,12 +48,18 @@ ...@@ -48,12 +48,18 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>1</string> </value> <value> <string>in_stream</string> </value>
</item> </item>
<item> <item>
<key> <string>int_index</string> </key> <key> <string>int_index</string> </key>
<value> <int>1</int> </value> <value> <int>1</int> </value>
</item> </item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>quantity</string> </key> <key> <string>quantity</string> </key>
<value> <float>-1.0</float> </value> <value> <float>-1.0</float> </value>
......
...@@ -60,11 +60,17 @@ ...@@ -60,11 +60,17 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_data_center</string> </value> <value> <string>open_radio_station</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ors_data_center</string> </value> <value> <string>Open Radio Station</string> </value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -134,7 +140,7 @@ ...@@ -134,7 +140,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.25376.54911.25548</string> </value> <value> <string>1018.50699.41959.26777</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -154,7 +160,7 @@ ...@@ -154,7 +160,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680166673.15</float> <float>1724243300.08</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -209,7 +215,7 @@ ...@@ -209,7 +215,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680166677.29</float> <float>1724243258.41</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -52,13 +52,25 @@ ...@@ -52,13 +52,25 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_end_device</string> </value> <value> <string>rapid_space_data_center</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ors_end_device</string> </value> <value> <string>Rapid Space Data Center</string> </value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -118,7 +130,9 @@ ...@@ -118,7 +130,9 @@
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
<value> <string></string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>error_message</string> </key> <key> <string>error_message</string> </key>
...@@ -126,7 +140,7 @@ ...@@ -126,7 +140,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value> <value> <string>1018.50698.37731.50807</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -146,7 +160,7 @@ ...@@ -146,7 +160,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680161314.98</float> <float>1724243285.55</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -201,7 +215,7 @@ ...@@ -201,7 +215,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680166682.84</float> <float>1724243194.53</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -18,7 +18,7 @@ log_data = ''.join(in_data_stream.readChunkList(start, end)) ...@@ -18,7 +18,7 @@ log_data = ''.join(in_data_stream.readChunkList(start, end))
newlines_offset = log_data.count('}{') newlines_offset = log_data.count('}{')
log_data = log_data.replace('}{', '}\n{') log_data = log_data.replace('}{', '}\n{')
# Last chunk may be an incomplete JSON object: leave it for next iteration # Last chunk may contain an incomplete JSON object: leave it for next iteration
log_data_lines = log_data.splitlines() log_data_lines = log_data.splitlines()
if len(log_data_lines) < 2: if len(log_data_lines) < 2:
return return
...@@ -38,16 +38,16 @@ for array in out_array: ...@@ -38,16 +38,16 @@ for array in out_array:
e_utran_data_array = array['Data Array'] e_utran_data_array = array['Data Array']
try: try:
vt, vInititialEPSBEstabSR, vAddedEPSBEstabSR, evt, vIPThp_qci = context.Base_getORSKPIValue(log_data) vt, v_initial_epsb_estab_sr, v_added_epsb_estab_sr, evt, v_ip_throughput_qci = context.Base_getOrsKpiValues(log_data)
except AssertionError: except AssertionError:
# If some data is invalid: ignore data chunk and move on rather than crashing the data analysis activity # If some data is invalid: ignore data chunk and move on rather than crashing
progress_indicator.setIntOffsetIndex(end) progress_indicator.setIntOffsetIndex(end)
return return
e_rab_dtype = np.dtype([ e_rab_dtype = np.dtype([
('vt', 'float'), ('vt', 'float'),
('vInititialEPSBEstabSR_lo', 'float64'), ('vInitialEPSBEstabSR_lo', 'float64'),
('vInititialEPSBEstabSR_hi', 'float64'), ('vInitialEPSBEstabSR_hi', 'float64'),
('vAddedEPSBEstabSR_lo', 'float64'), ('vAddedEPSBEstabSR_lo', 'float64'),
('vAddedEPSBEstabSR_hi', 'float64'), ('vAddedEPSBEstabSR_hi', 'float64'),
]) ])
...@@ -67,7 +67,7 @@ if not e_rab_array: ...@@ -67,7 +67,7 @@ if not e_rab_array:
e_rab_array_data = [] e_rab_array_data = []
for i in range(len(vt)): for i in range(len(vt)):
e_rab_array_data.append((vt[i], vInititialEPSBEstabSR[i][0], vInititialEPSBEstabSR[i][1], vAddedEPSBEstabSR[i][0], vAddedEPSBEstabSR[i][1])) e_rab_array_data.append((vt[i], v_initial_epsb_estab_sr[i][0], v_initial_epsb_estab_sr[i][1], v_added_epsb_estab_sr[i][0], v_added_epsb_estab_sr[i][1]))
if e_rab_array_data: if e_rab_array_data:
e_rab_array_data = np.ndarray((len(e_rab_array_data), ), e_rab_dtype, np.array(e_rab_array_data)) e_rab_array_data = np.ndarray((len(e_rab_array_data), ), e_rab_dtype, np.array(e_rab_array_data))
...@@ -85,7 +85,7 @@ while (i >= 0) and (e_utran_array[i][qci_idx] not in seen_qci_list): ...@@ -85,7 +85,7 @@ while (i >= 0) and (e_utran_array[i][qci_idx] not in seen_qci_list):
i -= 1 i -= 1
for i in range(len(evt)): for i in range(len(evt)):
for qci_data in vIPThp_qci[i]: for qci_data in v_ip_throughput_qci[i]:
qci = qci_data[0] qci = qci_data[0]
qci_data_hi = [qci_data[2], qci_data[4]] qci_data_hi = [qci_data[2], qci_data[4]]
if qci in seen_qci_list or any([data != 0 for data in qci_data_hi]): if qci in seen_qci_list or any([data != 0 for data in qci_data_hi]):
...@@ -96,5 +96,4 @@ if e_utran_array_data: ...@@ -96,5 +96,4 @@ if e_utran_array_data:
e_utran_array.append(e_utran_array_data) e_utran_array.append(e_utran_array_data)
progress_indicator.setIntOffsetIndex(end) progress_indicator.setIntOffsetIndex(end)
return return
""" """
This script is used during the ingestion of ORS log files through fluentd. This script is used during the ingestion of ORS eNB log files through fluentd.
It assumes data comes encoded in the following format: msgpack(timestamp, data). It assumes data comes encoded in the following format: MsgPack(timestamp, data).
It will first unpack the msgpack, then remove the first item of the tuple (timestamp), It will first unpack the MsgPack, then remove the first item of the tuple (timestamp),
get the actual data stored under the 'log' key and append the corresponding string to "Data Stream". get the actual data stored under the 'log' key and append the corresponding string to "Data Stream".
""" """
......
...@@ -81,16 +81,17 @@ ...@@ -81,16 +81,17 @@
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
<value> <string>This script is used with default simple Wendelin model defined in erp5_wendelin_data.\n <value>
For other models it will need adjustments.</string> </value> <none/>
</value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string>Ingestion operation script to be used for ingestion of ORS logs through fluentd: unpack the data from MsgPack format and append it to the data stream.</string> </value> <value> <string>Ingestion operation script to be used for ingestion of ORS eNB logs through fluentd: unpack the data from MsgPack format and append it to the data stream.</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DataIngestionLine_writeOrsLogFluentdIngestionToDataStream</string> </value> <value> <string>DataIngestionLine_writeOrsFluentdIngestionToDataStream</string> </value>
</item> </item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
...@@ -102,7 +103,7 @@ For other models it will need adjustments.</string> </value> ...@@ -102,7 +103,7 @@ For other models it will need adjustments.</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>DataIngestionLine_writeOrsLogFluentdIngestionToDataStream</string> </value> <value> <string>DataIngestionLine_writeOrsFluentdIngestionToDataStream</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
if not reference:
raise ValueError('reference is not defined')
return {'resource_reference' : context.data_product_module.ors_end_device.getReference(),
'specialise_reference': reference,
'reference': reference}
if not reference:
error_msg = 'reference %s is not defined' % reference
raise ValueError(error_msg)
return {
'resource_reference' : context.data_product_module.ors_enb_log_data.getReference(),
'specialise_reference': reference,
'reference': reference
}
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>IngestionPolicy_parseORSTag</string> </value> <value> <string>IngestionPolicy_parseOrsFluentdTag</string> </value>
</item> </item>
<item> <item>
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>IngestionPolicy_parseORSTag</string> </value> <value> <string>IngestionPolicy_parseOrsFluentdTag</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -58,29 +58,27 @@ ...@@ -58,29 +58,27 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>ors_ingestion</string> </value> <value> <string>ors_enb_log_ingestion</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
<value> <string>Handles ingestion of packets of ORS enb.xlog data forwarded through fluentd in MessagePack format. </string> </value> <value> <string>Handles ingestion of packets of ORS eNB log data forwarded through fluentd in MessagePack format.</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_ingestion</string> </value> <value> <string>ors_enb_log_ingestion</string> </value>
</item> </item>
<item> <item>
<key> <string>script_id</string> </key> <key> <string>script_id</string> </key>
<value> <string>IngestionPolicy_parseORSTag</string> </value> <value> <string>IngestionPolicy_parseOrsFluentdTag</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ORS Ingestion</string> </value> <value> <string>ORS eNB Log Ingestion</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -150,7 +148,7 @@ ...@@ -150,7 +148,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1017.20946.52185.63385</string> </value> <value> <string>1018.50482.31264.35293</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -170,7 +168,7 @@ ...@@ -170,7 +168,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1718612396.27</float> <float>1724230234.35</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -225,7 +223,7 @@ ...@@ -225,7 +223,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680161458.43</float> <float>1724234108.5</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,14 +8,13 @@ ...@@ -8,14 +8,13 @@
<!-- renderjs --> <!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script> <script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script> <script src="renderjs.js" type="text/javascript"></script>
<!-- custom script --> <!-- custom script -->
<script src="ndarray_bundle.js" type="text/javascript"></script> <script src="ndarray_bundle.js" type="text/javascript"></script>
<script src="wendelin.js" type="text/javascript"></script> <script src="wendelin.js" type="text/javascript"></script>
<script src="plotly.v1.58.5.js" type="text/javascript"></script> <script src="plotly_strict_v2.34.0.js" type="text/javascript"></script>
<link href="gadget_ors_wendelin.css" rel="stylesheet" type="text/css">
<script src="gadget_ors_e_rab_kpi.js" type="text/javascript"></script> <script src="gadget_ors_e_rab_kpi.js" type="text/javascript"></script>
<link href="gadget_ors_kpi.css" rel="stylesheet" type="text/css">
</head> </head>
<body> <body>
<div class="graph-initial-success-rate"></div> <div class="graph-initial-success-rate"></div>
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.25364.12656.9949</string> </value> <value> <string>1018.50745.28244.6348</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680268579.05</float> <float>1724246207.17</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
added_success_data, added_success_data,
label_list = ["vt", "vInititialEPSBEstabSR_lo", "vInititialEPSBEstabSR_hi", "vAddedEPSBEstabSR_lo", "vAddedEPSBEstabSR_hi"]; label_list = ["vt", "vInititialEPSBEstabSR_lo", "vInititialEPSBEstabSR_hi", "vAddedEPSBEstabSR_lo", "vAddedEPSBEstabSR_hi"];
return new RSVP.Queue().push(function () { return new RSVP.Queue().push(function () {
return wendelin.getArrayRawSlice(gadget, option_dict.data_array_key); return wendelin.getArrayRawSlice(gadget, option_dict.data_array_key);
}) })
.push(function (result) { .push(function (result) {
var graph_data = nj.unpack(result.pick(null, label_list)), var graph_data = nj.unpack(result.pick(null, label_list)),
date = [], date = [],
...@@ -91,12 +91,6 @@ ...@@ -91,12 +91,6 @@
gadget.element.querySelector('.graph-initial-success-rate'), gadget.element.querySelector('.graph-initial-success-rate'),
initial_success_data, initial_success_data,
{ {
/*
'legend': {
'x': 0,
'y': 1
},
*/
'title' : 'Initial E-RAB establishment success rate', 'title' : 'Initial E-RAB establishment success rate',
'xaxis': { 'xaxis': {
'autorange': true, 'autorange': true,
...@@ -110,14 +104,9 @@ ...@@ -110,14 +104,9 @@
} }
); );
Plotly.newPlot( Plotly.newPlot(
gadget.element.querySelector('.graph-added-success-rate'), gadget.element.querySelector('.graph-added-success-rate'),
added_success_data, added_success_data,
{ {
/*
'legend': {
'x': 0,
'y': 1
},*/
'title' : 'Added E-RAB establishment success rate', 'title' : 'Added E-RAB establishment success rate',
'xaxis': { 'xaxis': {
'autorange': true, 'autorange': true,
...@@ -128,7 +117,8 @@ ...@@ -128,7 +117,8 @@
text: '%' text: '%'
} }
} }
}); }
);
gadget.element.querySelector('.ui-icon-spinner').hidden = true; gadget.element.querySelector('.ui-icon-spinner').hidden = true;
}); });
}); });
......
...@@ -89,9 +89,7 @@ ...@@ -89,9 +89,7 @@
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
<value> <value> <string>en</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>short_title</string> </key> <key> <string>short_title</string> </key>
...@@ -105,9 +103,7 @@ ...@@ -105,9 +103,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -242,7 +238,7 @@ ...@@ -242,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1017.10919.17136.25378</string> </value> <value> <string>1018.50753.19274.8021</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -262,7 +258,7 @@ ...@@ -262,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1718093827.83</float> <float>1724247887.79</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -8,18 +8,17 @@ ...@@ -8,18 +8,17 @@
<!-- renderjs --> <!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script> <script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script> <script src="renderjs.js" type="text/javascript"></script>
<!-- custom script --> <!-- custom script -->
<script src="ndarray_bundle.js" type="text/javascript"></script> <script src="ndarray_bundle.js" type="text/javascript"></script>
<script src="wendelin.js" type="text/javascript"></script> <script src="wendelin.js" type="text/javascript"></script>
<script src="plotly.v1.58.5.js" type="text/javascript"></script> <script src="plotly_strict_v2.34.0.js" type="text/javascript"></script>
<link href="gadget_ors_wendelin.css" rel="stylesheet" type="text/css">
<script src="gadget_ors_e_utran_ip_throughput.js" type="text/javascript"></script> <script src="gadget_ors_e_utran_ip_throughput.js" type="text/javascript"></script>
<link href="gadget_ors_kpi.css" rel="stylesheet" type="text/css">
</head> </head>
<body> <body>
<div class="download-link"></div> <div class="graph-download-link"></div>
<div class="upload-link"></div> <div class="graph-upload-link"></div>
<div class="ui-icon-spinner ui-btn-icon-notext first-loader"></div> <div class="ui-icon-spinner ui-btn-icon-notext first-loader"></div>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.27161.59930.2099</string> </value> <value> <string>1018.50748.16129.18005</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680268447.73</float> <float>1724246227.7</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
} }
return data_list; return data_list;
} }
gadget_klass gadget_klass
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
.declareAcquiredMethod("jio_get", "jio_get") .declareAcquiredMethod("jio_get", "jio_get")
...@@ -85,8 +86,8 @@ ...@@ -85,8 +86,8 @@
.declareService(function () { .declareService(function () {
var gadget = this; var gadget = this;
return loopEventListener(window, 'resize', false, function () { return loopEventListener(window, 'resize', false, function () {
Plotly.Plots.resize(gadget.element.querySelector('.upload-link')); Plotly.Plots.resize(gadget.element.querySelector('.graph-upload-link'));
Plotly.Plots.resize(gadget.element.querySelector('.download-link')); Plotly.Plots.resize(gadget.element.querySelector('.graph-download-link'));
}); });
}) })
.declareMethod('render', function (option_dict) { .declareMethod('render', function (option_dict) {
...@@ -111,8 +112,8 @@ ...@@ -111,8 +112,8 @@
raw_dl_hi, raw_dl_hi,
raw_ul_lo, raw_ul_lo,
raw_ul_hi, raw_ul_hi,
download_link = gadget.element.querySelector('.download-link'), download_link = gadget.element.querySelector('.graph-download-link'),
upload_link = gadget.element.querySelector('.upload-link'); upload_link = gadget.element.querySelector('.graph-upload-link');
for (i = 0; i < graph_data.length; i += 1) { for (i = 0; i < graph_data.length; i += 1) {
if (date.indexOf(graph_data[i][0]) == -1) { if (date.indexOf(graph_data[i][0]) == -1) {
date.push(graph_data[i][0]); date.push(graph_data[i][0]);
...@@ -153,19 +154,10 @@ ...@@ -153,19 +154,10 @@
download_link, download_link,
download_data, download_data,
{ {
/*
'legend': {
'x': 0,
'y': 1
},*/
'title' : 'Download Link', 'title' : 'Download Link',
'xaxis': { 'xaxis': {
'autorange': true, 'autorange': true,
'autosize': true 'autosize': true
/*
'rangeslider': {
//range: [date[0], date[date.length - 1]]
}*/
}, },
'yaxis': { 'yaxis': {
title: { title: {
...@@ -178,27 +170,18 @@ ...@@ -178,27 +170,18 @@
upload_link, upload_link,
upload_data, upload_data,
{ {
/*
'legend': {
'x': 0,
'y': 1
},*/
'title' : 'Upload Link', 'title' : 'Upload Link',
'xaxis': { 'xaxis': {
'autorange': true, 'autorange': true,
'autosize': true 'autosize': true
/*
'rangeslider': {
'range': [date[0], date[date.length - 1]]
}*/
}, },
'yaxis': { 'yaxis': {
title: { title: {
text: 'Mbit/s' text: 'Mbit/s'
} }
} }
}); }
//XXXXXXXXXXXX );
gadget.element.querySelector('.ui-icon-spinner').hidden = true; gadget.element.querySelector('.ui-icon-spinner').hidden = true;
}); });
}); });
......
...@@ -89,9 +89,7 @@ ...@@ -89,9 +89,7 @@
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
<value> <value> <string>en</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>short_title</string> </key> <key> <string>short_title</string> </key>
...@@ -105,9 +103,7 @@ ...@@ -105,9 +103,7 @@
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -242,7 +238,7 @@ ...@@ -242,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1018.40653.46063.57975</string> </value> <value> <string>1018.50754.42943.1024</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -262,7 +258,7 @@ ...@@ -262,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1723640590.82</float> <float>1724247880.82</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_wendelin_home_page_html</string> </value> <value> <string>ors_wendelin_home_message_html</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1017.24204.40844.49612</string> </value> <value> <string>1018.50674.5165.60364</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -256,7 +256,7 @@ ...@@ -256,7 +256,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1718807806.02</float> <float>1724248212.57</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -69,11 +69,13 @@ ...@@ -69,11 +69,13 @@
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>plotly.v1.58.5.js</string> </value> <value> <string>plotly_strict_v2.34.0.js</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -83,13 +85,11 @@ ...@@ -83,13 +85,11 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_plotly.v1.58.5.js</string> </value> <value> <string>plotly_strict_v2.34.0.js</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
<value> <value> <string>en</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>short_title</string> </key> <key> <string>short_title</string> </key>
...@@ -99,13 +99,11 @@ ...@@ -99,13 +99,11 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Plotly v1.58.5</string> </value> <value> <string>Plotly Strict v2.34.0</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -167,7 +165,7 @@ ...@@ -167,7 +165,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>zope</string> </value> <value> <unicode>zope</unicode> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -191,7 +189,7 @@ ...@@ -191,7 +189,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680098684.02</float> <float>1724245521.37</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -226,7 +224,7 @@ ...@@ -226,7 +224,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>zope</string> </value> <value> <unicode>zope</unicode> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -240,7 +238,7 @@ ...@@ -240,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.24334.64782.19507</string> </value> <value> <string>1018.50736.46413.16776</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +258,7 @@ ...@@ -260,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680098829.75</float> <float>1724245506.16</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
...@@ -287,13 +285,11 @@ ...@@ -287,13 +285,11 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <value> <string>detect_converted_file</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>zope</string> </value> <value> <unicode>zope</unicode> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -305,7 +301,7 @@ ...@@ -305,7 +301,7 @@
</item> </item>
<item> <item>
<key> <string>external_processing_state</string> </key> <key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value> <value> <string>converted</string> </value>
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
...@@ -325,7 +321,7 @@ ...@@ -325,7 +321,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680098514.49</float> <float>1724245134.37</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</item> </item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <string>gadget_ors_wendelin.css</string> </value> <value> <string>gadget_ors_kpi.css</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -85,13 +85,11 @@ ...@@ -85,13 +85,11 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>ors_wendelin_css</string> </value> <value> <string>rjs_gadget_ors_kpi_css</string> </value>
</item> </item>
<item> <item>
<key> <string>language</string> </key> <key> <string>language</string> </key>
<value> <value> <string>en</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>short_title</string> </key> <key> <string>short_title</string> </key>
...@@ -101,13 +99,11 @@ ...@@ -101,13 +99,11 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Gadget ORS WENDELIN CSS</string> </value> <value> <string>Gadget ORS KPI CSS</string> </value>
</item> </item>
<item> <item>
<key> <string>version</string> </key> <key> <string>version</string> </key>
<value> <value> <string>001</string> </value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>workflow_history</string> </key> <key> <string>workflow_history</string> </key>
...@@ -228,7 +224,7 @@ ...@@ -228,7 +224,7 @@
</item> </item>
<item> <item>
<key> <string>actor</string> </key> <key> <string>actor</string> </key>
<value> <string>zope</string> </value> <value> <unicode>zope</unicode> </value>
</item> </item>
<item> <item>
<key> <string>comment</string> </key> <key> <string>comment</string> </key>
...@@ -242,7 +238,7 @@ ...@@ -242,7 +238,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1007.24230.53599.14950</string> </value> <value> <string>1018.50775.39991.54254</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -262,7 +258,7 @@ ...@@ -262,7 +258,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1680092868.19</float> <float>1724247824.31</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
for line in context.getAggregateRelatedValueList(portal_type='Data Analysis Line'): for line in context.getAggregateRelatedValueList(portal_type='Data Analysis Line'):
if line.getVariationTitle() == 'e_rab': if line.getVariationTitle() == 'e_rab':
data_array = line.getAggregate(portal_type='Data Array') data_array = line.getAggregate(portal_type='Data Array')
if data_array: if data_array:
return data_array return data_array
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Base_getERABDataArrayKey</string> </value> <value> <string>Base_getERabDataArrayKey</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Base_getEUTRANDataArrayKey</string> </value> <value> <string>Base_getEUtranDataArrayKey</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -8,15 +8,15 @@ ...@@ -8,15 +8,15 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_function</string> </key> <key> <string>_function</string> </key>
<value> <string>getORSKPIValue</string> </value> <value> <string>getOrsKpiValues</string> </value>
</item> </item>
<item> <item>
<key> <string>_module</string> </key> <key> <string>_module</string> </key>
<value> <string>XlteUtils</string> </value> <value> <string>OrsKpiUtils</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Base_getORSKPIValue</string> </value> <value> <string>Base_getOrsKpiValues</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -7,7 +7,8 @@ destination_project = context.getDestinationProject() ...@@ -7,7 +7,8 @@ destination_project = context.getDestinationProject()
data_supply = context.portal_catalog.getResultValue( data_supply = context.portal_catalog.getResultValue(
portal_type='Data Supply', portal_type='Data Supply',
reference=reference, reference=reference,
validation_state='validated') validation_state='validated'
)
if data_supply: if data_supply:
if batch: if batch:
...@@ -17,9 +18,9 @@ if data_supply: ...@@ -17,9 +18,9 @@ if data_supply:
data_supply = context.data_supply_module.newContent( data_supply = context.data_supply_module.newContent(
portal_type='Data Supply', portal_type='Data Supply',
reference=reference, reference=reference,
source='organisation_module/ors_end_device', source='organisation_module/open_radio_station',
source_section='organisation_module/ors_end_device', source_section='organisation_module/open_radio_station',
destination='organisation_module/ors_data_center', destination='organisation_module/rapid_space_data_center',
destination_project=destination_project, destination_project=destination_project,
) )
...@@ -30,17 +31,17 @@ data_supply.newContent( ...@@ -30,17 +31,17 @@ data_supply.newContent(
quantity=1, quantity=1,
int_index=2, int_index=2,
use='big_data/ingestion/stream', use='big_data/ingestion/stream',
resource="data_product_module/ors_end_device" resource="data_product_module/ors_enb_log_data"
).validate() ).validate()
data_supply.newContent( data_supply.newContent(
portal_type='Data Supply Line', portal_type='Data Supply Line',
title='Ingest ORS Log Data', title='Ingest ORS eNB Log Data',
reference='ingestion_operation', reference='ingestion_operation',
quantity=1, quantity=1,
int_index=1, int_index=1,
aggregate_value=context, aggregate_value=context,
resource='data_operation_module/ors_wendelin_ingest_log_data' resource='data_operation_module/ingest_ors_enb_log_data'
).validate() ).validate()
data_supply.validate() data_supply.validate()
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DataAcquisitionUnit_createORSDataSupply</string> </value> <value> <string>DataAcquisitionUnit_createOrsDataSupply</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<key> <string>bottom</string> </key> <key> <string>bottom</string> </key>
<value> <value>
<list> <list>
<string>your_E-UTRANIPThroughputKPI.</string> <string>your_e_rab_accessibility_kpi</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DataAcquisitionUnit_viewE-UTRANIPThroughputKPI</string> </value> <value> <string>DataAcquisitionUnit_viewERabAccessibilityKpi</string> </value>
</item> </item>
<item> <item>
<key> <string>method</string> </key> <key> <string>method</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_E-RABAccessibilityKPI</string> </value> <value> <string>your_e_rab_accessibility_kpi</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -253,7 +253,7 @@ ...@@ -253,7 +253,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: [(\'data_array_key\', context.Base_getERABDataArrayKey())]</string> </value> <value> <string>python: [(\'data_array_key\', context.Base_getERabDataArrayKey())]</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<key> <string>bottom</string> </key> <key> <string>bottom</string> </key>
<value> <value>
<list> <list>
<string>your_E-RABAccessibilityKPI</string> <string>your_e_utran_ip_throughput_kpi</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DataAcquisitionUnit_viewE-RABAccessibilityKPI</string> </value> <value> <string>DataAcquisitionUnit_viewEUtranIpThroughputKpi</string> </value>
</item> </item>
<item> <item>
<key> <string>method</string> </key> <key> <string>method</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>your_E-UTRANIPThroughputKPI.</string> </value> <value> <string>your_e_utran_ip_throughput_kpi</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -253,7 +253,7 @@ ...@@ -253,7 +253,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: [(\'data_array_key\', context.Base_getEUTRANDataArrayKey())]</string> </value> <value> <string>python: [(\'data_array_key\', context.Base_getEUtranDataArrayKey())]</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
if not context.getReference():
return context.Base_redirect('view',keep_items={'portal_status_message': 'Reference is not defined'})
data_transformation = context.portal_catalog.getResultValue(
validation_state='validated',
resource_relative_url = context.getRelativeUrl(),
portal_type='Data Transformation')
if data_transformation:
if batch:
return data_transformation
return data_transformation.Base_redirect('view',keep_items={'portal_status_message': 'Data Transformation already created'})
data_transformation = context.data_transformation_module.newContent(
portal_type = 'Data Transformation',
reference = context.getReference(),
title=context.getTitle(),
resource_uid=context.getUid()
)
data_transformation.newContent(
portal_type='Data Transformation Resource Line',
title='In Stream',
reference='in_stream',
quantity=-1,
int_index=1,
aggregated_portal_type_list = ['Progress Indicator'],
trade_phase='data/convert',
resource_uid=context.getUid()
)
data_transformation.newContent(
portal_type='Data Transformation Resource Line',
title='Out Array',
reference='out_array',
quantity=1,
int_index=2,
aggregated_portal_type_list = ['Data Array'],
trade_phase='data/convert',
use='big_data/ingestion/stream',
resource='data_product_module/convert_data_stream_to_data_array'
)
data_transformation.newContent(
portal_type='Data Transformation Operation Line',
title='Convert Raw Data to Array',
reference='data_operation',
quantity=1,
int_index=3,
resource='data_operation_module/convert_data_stream_to_data_array'
)
data_transformation.validate()
if batch:
return data_transformation
return data_transformation.Base_redirect('view',keep_items={'portal_status_message': 'Data Transformation is created'})
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>batch=0, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>DataProduct_createDataTransformation</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -64,7 +64,7 @@ data_acquisition_unit = portal.data_acquisition_unit_module.newContent( ...@@ -64,7 +64,7 @@ data_acquisition_unit = portal.data_acquisition_unit_module.newContent(
destination_project=project_url, destination_project=project_url,
) )
data_acquisition_unit.validate() data_acquisition_unit.validate()
data_supply = data_acquisition_unit.DataAcquisitionUnit_createORSDataSupply(batch=1) data_supply = data_acquisition_unit.DataAcquisitionUnit_createOrsDataSupply(batch=1)
data_acquisition_unit.updateLocalRolesOnSecurityGroups() data_acquisition_unit.updateLocalRolesOnSecurityGroups()
data_supply.updateLocalRolesOnSecurityGroups() data_supply.updateLocalRolesOnSecurityGroups()
......
...@@ -24,7 +24,7 @@ data_acquisition_unit = portal.data_acquisition_unit_module.newContent( ...@@ -24,7 +24,7 @@ data_acquisition_unit = portal.data_acquisition_unit_module.newContent(
destination_project=project_url, destination_project=project_url,
) )
data_acquisition_unit.validate() data_acquisition_unit.validate()
data_supply = data_acquisition_unit.DataAcquisitionUnit_createORSDataSupply(batch=1) data_supply = data_acquisition_unit.DataAcquisitionUnit_createOrsDataSupply(batch=1)
data_acquisition_unit.updateLocalRolesOnSecurityGroups() data_acquisition_unit.updateLocalRolesOnSecurityGroups()
data_supply.updateLocalRolesOnSecurityGroups() data_supply.updateLocalRolesOnSecurityGroups()
......
Data Acquisition Unit | create_ors_data_supply Data Acquisition Unit | create_ors_data_supply
Data Acquisition Unit | restart_ingestion Data Acquisition Unit | restart_ingestion
Data Acquisition Unit | view_e-rab_accessibility_kpi Data Acquisition Unit | view_e_rab_accessibility_kpi
Data Acquisition Unit | view_e-utran-ip-throughput_kpi Data Acquisition Unit | view_e_utran_ip_throughput_kpi
Project | add_ors_to_project Project | add_ors_to_project
\ No newline at end of file
extension.erp5.XlteUtils extension.erp5.OrsKpiUtils
\ No newline at end of file \ No newline at end of file
data_operation_module/ors_* data_operation_module/calculate_ors_kpi
data_product_module/ors_* data_operation_module/ingest_ors_enb_log_data
data_product_module/ors_enb_log_data
data_product_module/ors_kpi
data_product_module/ors_kpi/** data_product_module/ors_kpi/**
data_transformation_module/ors_data_transformation data_transformation_module/ors_enb_log_data_transformation
data_transformation_module/ors_data_transformation/** data_transformation_module/ors_enb_log_data_transformation/**
organisation_module/ors_* organisation_module/open_radio_station
organisation_module/rapid_space_data_center
portal_callables/DataAnalysisLine_calculateOrsKpi portal_callables/DataAnalysisLine_calculateOrsKpi
portal_callables/DataIngestionLine_writeOrsLogFluentdIngestionToDataStream portal_callables/DataIngestionLine_writeOrsFluentdIngestionToDataStream
portal_callables/IngestionPolicy_parseORSTag portal_callables/IngestionPolicy_parseOrsFluentdTag
portal_categories/role/ors portal_categories/role/ors
portal_categories/role/ors/** portal_categories/role/ors/**
portal_ingestion_policies/ors_ingestion portal_ingestion_policies/ors_enb_log_ingestion
web_page_module/ndarray_bundle.js web_page_module/ndarray_bundle.js
web_page_module/ors_* web_page_module/ors_e_rab_kpi_*
web_page_module/ors_e_utran_ip_throughput_kpi_*
web_page_module/ors_wendelin_front_*
web_page_module/ors_wendelin_home_message_*
web_page_module/plotly_strict_v2.34.0.js
web_page_module/rjs_gadget_ors_* web_page_module/rjs_gadget_ors_*
web_site_module/ors_wendelin_front web_site_module/ors_wendelin_front
web_site_module/ors_wendelin_front/** web_site_module/ors_wendelin_front/**
\ No newline at end of file
data_operation_module/ors_* data_operation_module/calculate_ors_kpi
data_product_module/ors_* data_operation_module/ingest_ors_enb_log_data
data_product_module/ors_enb_log_data
data_product_module/ors_kpi
data_product_module/ors_kpi/** data_product_module/ors_kpi/**
data_transformation_module/ors_data_transformation data_transformation_module/ors_enb_log_data_transformation
data_transformation_module/ors_data_transformation/** data_transformation_module/ors_enb_log_data_transformation/**
organisation_module/ors_* organisation_module/open_radio_station
organisation_module/rapid_space_data_center
portal_callables/DataAnalysisLine_calculateOrsKpi portal_callables/DataAnalysisLine_calculateOrsKpi
portal_callables/DataIngestionLine_writeOrsLogFluentdIngestionToDataStream portal_callables/DataIngestionLine_writeOrsFluentdIngestionToDataStream
portal_callables/IngestionPolicy_parseORSTag portal_callables/IngestionPolicy_parseOrsFluentdTag
portal_categories/role/ors portal_categories/role/ors
portal_categories/role/ors/** portal_categories/role/ors/**
portal_ingestion_policies/ors_ingestion portal_ingestion_policies/ors_enb_log_ingestion
web_page_module/ndarray_bundle.js web_page_module/ndarray_bundle.js
web_page_module/ors_* web_page_module/ors_e_rab_kpi_*
web_page_module/ors_e_utran_ip_throughput_kpi_*
web_page_module/ors_wendelin_front_*
web_page_module/ors_wendelin_home_message_*
web_page_module/plotly_strict_v2.34.0.js
web_page_module/rjs_gadget_ors_* web_page_module/rjs_gadget_ors_*
web_site_module/ors_wendelin_front web_site_module/ors_wendelin_front
web_site_module/ors_wendelin_front/** web_site_module/ors_wendelin_front/**
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment