Support for additional NR metrics
[ric-app/mc.git] / mc-core / mc / queries / addn_req_time.gsql
1 DEFINE{query_name 'add_req_start';}
2 PARAM{ window uint; }
3 select timestamp_ms as timestamp,
4         non_temporal(timestamp_ms) as start_time,
5         0ULL as end_time,
6         id_MeNB_UE_X2AP_ID as eUE_ID,
7         gnb_id,
8         0 as event_type
9 from SGNB_ADDITION_REQ.sgnb_addreq_for_ue
10 ;
11
12 DEFINE{query_name 'add_req_success';}
13 PARAM{ window uint; }
14 select timestamp_ms as timestamp,
15         0ULL as start_time,
16         non_temporal(timestamp_ms) as end_time,
17         id_MeNB_UE_X2AP_ID as eUE_ID,
18         gnb_id,
19         1 as event_type
20 from RECONCOMPLETE.reconfig_success
21 ;
22
23 DEFINE{query_name 'addreq_events';}
24 PARAM{ window uint; }
25 merge p1.timestamp : p2.timestamp
26 from add_req_start p1, add_req_success p2
27 ;
28
29
30 DEFINE{query_name 'addreq_success_time';
31         max_lfta_disorder '1'; max_hfta_disorder '1';
32 }
33 PARAM{ window uint; }
34 select eUE_ID, gnb_id, TB, 
35         UINT(max(end_time)-max(start_time)) as success_time
36 from addreq_events
37 group by eUE_ID, gnb_id, timestamp / $window as TB
38 having max(end_time)>0 and max(start_time)>0 and max(end_time)>max(start_time)
39 ;
40
41 DEFINE{query_name 'addreq_success_stats';
42         max_lfta_disorder '1'; max_hfta_disorder '1';
43         comment 'statistics on the time to successfully make a DC connection';
44 }
45 PARAM{ window uint; }
46 select gnb_id as GNB_ID,
47         ($window*(TB+1))/1000 as TS, 
48              $window/1000.0 as measurementInterval,
49         MIN(success_time)/1000.0 as min_success_time,
50         MAX(success_time)/1000.0 as max_success_time,
51         AVG(success_time)/1000.0 as avg_success_time,
52         quantile_of(success_time, .05)/1000.0 as pctl_05_success_time,
53         quantile_of(success_time, .95)/1000.0 as pctl_95_success_time,
54         sqrt(
55                 sum((success_time/1000.0)*(success_time/1000.0)) - sum(success_time/1000.0)*sum(success_time/1000.0)/count(*)
56         ) / count(*) as stddev_success_time
57 from addreq_success_time
58 group by gnb_id, TB