open5gs/src/upf
Gaber Stare 40b4c9d1c9 [UPF] Add metrics support
Expose metrics with labels according to ETSI TS 128 552 V16.13.0 in
UPF by using hash.

The metrics are named respecting the rule:
<generation>_<measurement_object_class>_<measurement_family_name>_<metric_name_as_in_TS_128_552>

5qi is not available in UPF.
To present 5qi to the user, MN will have to maintain a table qfi->5qi
for each QoS flow (will have to get information from SMF).
So UPF has to expose qfi. qfi itself is not useful. When used, UPF will
have to expose additional label to define the session (e.g. source
interface).

Label dnn is set to value of APN/DNN received in Establishment.
Since SMF does not add APN/DNN to Establishment, the label is empty.
When APN/DNN will be set by SMF, it should be added to sess in UPF
and used in metrics on Modification and Deletion.

Both datavolumeqosleveln3upf are exposed in bytes.
MN is providing the transformation to kbits.

fivegs_upffunction_upf_qosflows should expose the number of QFIs used in
sessions, but exposes number of QER rules, which is currently equal to
QFIs.
The label snsssai is not provided since the slice is not available on UPF.

Exposed metrics example:
Standard counters:
fivegs_ep_n3_gtp_indatapktn3upf 28637
fivegs_ep_n3_gtp_outdatapktn3upf 14729
fivegs_upffunction_sm_n4sessionestabreq 4
fivegs_upffunction_sm_n4sessionestabfail{cause="66"} 1
fivegs_upffunction_sm_n4sessionestabfail{cause="71"} 68
fivegs_upffunction_sm_n4sessionestabfail{cause="68"} 4
fivegs_upffunction_sm_n4sessionestabfail{cause="72"} 15
fivegs_upffunction_sm_n4sessionestabfail{cause="75"} 3
fivegs_upffunction_sm_n4sessionestabfail{cause="65"} 4
fivegs_upffunction_sm_n4sessionreport 0
fivegs_upffunction_sm_n4sessionreportsucc 0
fivegs_ep_n3_gtp_indatavolumeqosleveln3upf{qfi="1"} 39792997
fivegs_ep_n3_gtp_outdatavolumeqosleveln3upf{qfi="1"} 737548
Nonstandard gauge (added for controlling purposes -
same metric as existing metric on AMF and SMF):
fivegs_upffunction_upf_sessionnbr 1
Standard gauge:
fivegs_upffunction_upf_qosflows{dnn=""} 1
2022-12-06 22:57:24 +09:00
..
app.c Initial proposal CUPS using PFCP 2020-04-26 15:36:05 -04:00
arp-nd.cpp trim buffer to correct size after creating ARP or ND reply. (#1068) 2021-06-24 12:37:58 +09:00
arp-nd.h trim buffer to correct size after creating ARP or ND reply. (#1068) 2021-06-24 12:37:58 +09:00
context.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
context.h [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
event.c Oops! MacOSX is not working due to previous commit! 2020-08-26 09:53:37 -04:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
gtp-path.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
gtp-path.h re-order packet buffer clear #568 2020-10-03 21:18:08 -04:00
init.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
meson.build [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
metrics.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
metrics.h [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
n4-build.c [PFCP] F-TEID allocation by SMF (#1466) 2022-04-16 14:08:56 +09:00
n4-build.h Split SGW into SGW-C/SGW-U 2020-08-12 20:31:22 -04:00
n4-handler.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
n4-handler.h 5gc: Paging was added 2021-01-18 11:48:35 -05:00
pfcp-path.c [UPF] Add metrics support 2022-12-06 22:57:24 +09:00
pfcp-path.h [ALL] Add protection of message encoding (#991) 2021-05-16 12:22:10 +09:00
pfcp-sm.c add addr/port to pfcp assoc/de-assoc logs (#40) 2022-09-25 18:58:53 +09:00
rule-match.c Fixes UE IPv6 BUG (#808) 2021-03-15 10:01:55 +09:00
rule-match.h [SMF] Apply 5G Core into GSM (#1498) 2022-05-15 06:27:54 +09:00
timer.c [SCP] Support of Indirect Communication 2022-07-16 13:27:18 +09:00
timer.h Synchronize all timers [#512] 2020-07-26 21:02:40 -04:00
upf-sm.c Continue to fix alpine stack overflow (#1911) 2022-11-27 00:11:34 +09:00
upf-sm.h Initial proposal CUPS using PFCP 2020-04-26 15:36:05 -04:00