Updating a set of supported NR metrics
[ric-app/mc.git] / mc-core / mc / queries / admitted_erabs.gsql
1
2
3 // join interval should be 10 seconds
4 // Compromise between ensuring that most add_req_ack-recon_complete pairs
5 // are caught while avoiding duplicates due to short sessions
6 //      NB: $window should be a multiple of 10.
7 DEFINE{query_name 'erab_stats_join';
8         max_lfta_disorder '1'; max_hfta_disorder '1';
9 }
10 PARAM{ window uint; }
11 select e.timestamp_ms/10000 as TB10, e.id_SgNB_UE_X2AP_ID, e.e_RAB_ID, e.qCI
12         , e.gnb_id
13 INNER_JOIN from SGNB_ADDITION_REQ_ACK.eRABs_acked_for_admit_for_ue e,
14         RECONCOMPLETE.reconfig_success r
15 where 
16  r.id_SgNB_UE_X2AP_ID = e.id_SgNB_UE_X2AP_ID
17 and r.timestamp_ms/10000 = e.timestamp_ms/10000
18 ;
19
20
21 DEFINE{query_name 'erab_stats';
22         max_lfta_disorder '1'; max_hfta_disorder '1';
23         comment 'number of admitted bearers and the distribution of their qCI';
24 }
25 PARAM{ window uint; }
26 Select (TB*$window)/1000 as TS, gnb_id as GNB_ID,
27         $window/1000.0 as measurementInterval,
28         count(*) as total_erabs,
29         sum( EQ(UINT(qCI),1) ) as qCI_1,
30         sum( EQ(UINT(qCI),2) ) as qCI_2,
31         sum( EQ(UINT(qCI),3) ) as qCI_3,
32         sum( EQ(UINT(qCI),4) ) as qCI_4,
33         sum( EQ(UINT(qCI),5) ) as qCI_5,
34         sum( EQ(UINT(qCI),6) ) as qCI_6,
35         sum( EQ(UINT(qCI),7) ) as qCI_7,
36         sum( EQ(UINT(qCI),8) ) as qCI_8,
37         sum( EQ(UINT(qCI),9) ) as qCI_9,
38         sum( LEQ(UINT(qCI),0)| GEQ(UINT(qCI),10) ) as qCI_other
39 from erab_stats_join
40 group by (10000*TB10)/$window as TB, gnb_id
41 ;
42
43 --      Create the (gnb_id, [enb_ueid, gnb_ueid]) -> cellid map
44 DEFINE{query_name 'gnb_ueid_cellid_map';
45         max_lfta_disorder '1'; max_hfta_disorder '1';
46         comment 'Output the last known map from (gnb, gnb_ueid) to (qci, arp)';
47 }
48 PARAM{ window uint;}
49 Select TB, GNB_ID, id_MeNB_UE_X2AP_ID, LAST(id_SgNB_UE_X2AP_ID) as id_SgNB_UE_X2AP_ID,
50         LAST(physCellId) as physCellId
51 From SGNB_ADDITION_REQ_ACK.add_req_ack_cellid
52 GROUP BY timestamp_ms / $window as TB, id_MeNB_UE_X2AP_ID, gnb_id as GNB_ID
53 CLOSING_WHEN ((TB+1)*$window-LAST(timestamp_ms))/1000.0 >= 3600
54 ;
55
56 DEFINE{query_name 'erab_stats_pci_join';
57         max_lfta_disorder '1'; max_hfta_disorder '1';
58         comment 'Join erab_stats_join with gnb_ueid_cellid_map to create data stream for erab_stats_cell';
59 }
60 PARAM{ window uint; }
61 select M.TB,  M.GNB_ID, M.physCellId, E.qCI
62 INNER_JOIN from erab_stats_join E, gnb_ueid_cellid_map M
63 Where E.gnb_id=M.GNB_ID and E.id_SgNB_UE_X2AP_ID=M.id_SgNB_UE_X2AP_ID
64         and (10000*E.TB10)/$window=M.TB
65 ;
66
67 DEFINE{query_name 'erab_stats_pci';
68         max_lfta_disorder '1'; max_hfta_disorder '1';
69         comment 'number of admitted bearers and the distribution of their qCI, by physical cell id';
70 }
71 PARAM{ window uint; }
72 Select (TB*$window)/1000 as TS, GNB_ID, physCellId, 
73         $window/1000.0 as measurementInterval,
74         count(*) as total_erabs,
75         sum( EQ(UINT(qCI),1) ) as qCI_1,
76         sum( EQ(UINT(qCI),2) ) as qCI_2,
77         sum( EQ(UINT(qCI),3) ) as qCI_3,
78         sum( EQ(UINT(qCI),4) ) as qCI_4,
79         sum( EQ(UINT(qCI),5) ) as qCI_5,
80         sum( EQ(UINT(qCI),6) ) as qCI_6,
81         sum( EQ(UINT(qCI),7) ) as qCI_7,
82         sum( EQ(UINT(qCI),8) ) as qCI_8,
83         sum( EQ(UINT(qCI),9) ) as qCI_9,
84         sum( LEQ(UINT(qCI),0)| GEQ(UINT(qCI),10) ) as qCI_other
85 from erab_stats_pci_join
86 group by (10000*TB)/$window as TB, GNB_ID, physCellId
87