fixeria has submitted this change. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/38534?usp=email )
Change subject: s1gw_metrics: add counters for PFCP Heartbeat Req/Resp ......................................................................
s1gw_metrics: add counters for PFCP Heartbeat Req/Resp
Change-Id: I61b28c41be4fe051adff1a5315b70409dea9b9cd --- M include/s1gw_metrics.hrl M src/pfcp_peer.erl M src/s1gw_metrics.erl 3 files changed, 15 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve
diff --git a/include/s1gw_metrics.hrl b/include/s1gw_metrics.hrl index bb7043f..1b54018 100644 --- a/include/s1gw_metrics.hrl +++ b/include/s1gw_metrics.hrl @@ -1,3 +1,8 @@ +-define(S1GW_CTR_PFCP_HEARTBEAT_REQ_TX, [ctr, pfcp, heartbeat_req, tx]). +-define(S1GW_CTR_PFCP_HEARTBEAT_REQ_TIMEOUT, [ctr, pfcp, heartbeat_req, timeout]). +-define(S1GW_CTR_PFCP_HEARTBEAT_RESP_RX, [ctr, pfcp, heartbeat_resp, rx]). +-define(S1GW_CTR_PFCP_HEARTBEAT_REQ_RX, [ctr, pfcp, heartbeat_req, rx]). +-define(S1GW_CTR_PFCP_HEARTBEAT_RESP_TX, [ctr, pfcp, heartbeat_resp, tx]). -define(S1GW_CTR_PFCP_ASSOC_SETUP_REQ_TX, [ctr, pfcp, assoc_setup_req, tx]). -define(S1GW_CTR_PFCP_ASSOC_SETUP_REQ_TIMEOUT, [ctr, pfcp, assoc_setup_req, timeout]). -define(S1GW_CTR_PFCP_ASSOC_SETUP_RESP_RX, [ctr, pfcp, assoc_setup_resp, rx]). diff --git a/src/pfcp_peer.erl b/src/pfcp_peer.erl index 9a8709c..1d266d1 100644 --- a/src/pfcp_peer.erl +++ b/src/pfcp_peer.erl @@ -314,6 +314,7 @@ #heartbeat_state{from = From, seq_nr = SeqNr} -> ?LOG_NOTICE("Heartbeat Request (SeqNr=~p) timeout", [SeqNr]), + s1gw_metrics:ctr_inc(?S1GW_CTR_PFCP_HEARTBEAT_REQ_TIMEOUT), if From =/= undefined -> gen_statem:reply(From, {error, timeout}); @@ -521,6 +522,7 @@ ?LOG_INFO("Tx Heartbeat Request (SeqNr=~p): ~p", [SeqNr, ReqIEs]), case send_pdu({heartbeat_request, ReqIEs}, S0) of {ok, S1} -> + s1gw_metrics:ctr_inc(?S1GW_CTR_PFCP_HEARTBEAT_REQ_TX), Pid = spawn(fun heartbeat_request_watchdog/0), HB = #heartbeat_state{from = From, seq_nr = SeqNr, @@ -547,6 +549,7 @@ {_FromIp, _FromPort}, #peer_state{heartbeat = HB} = S) -> ?LOG_INFO("Rx Heartbeat Response (SeqNr=~p): ~p", [SeqNr, RspIEs]), + s1gw_metrics:ctr_inc(?S1GW_CTR_PFCP_HEARTBEAT_RESP_RX), case HB of #heartbeat_state{from = From, seq_nr = SeqNr, @@ -571,6 +574,8 @@ {FromIp, FromPort}, #peer_state{loc_rts = LRTS} = S) -> ?LOG_INFO("Rx Heartbeat Request from ~p:~p: ~p", [FromIp, FromPort, ReqIEs]), + s1gw_metrics:ctr_inc(?S1GW_CTR_PFCP_HEARTBEAT_REQ_RX), + s1gw_metrics:ctr_inc(?S1GW_CTR_PFCP_HEARTBEAT_RESP_TX), RspIEs = #{recovery_time_stamp => #recovery_time_stamp{time = LRTS}}, %% Fake #peer_state to force the right destination and SeqNr {Result, _} = send_pdu({heartbeat_response, RspIEs}, diff --git a/src/s1gw_metrics.erl b/src/s1gw_metrics.erl index e065a4a..bba5209 100644 --- a/src/s1gw_metrics.erl +++ b/src/s1gw_metrics.erl @@ -48,6 +48,11 @@ -include("s1gw_metrics.hrl").
-define(S1GW_COUNTERS, [ + ?S1GW_CTR_PFCP_HEARTBEAT_REQ_TX, + ?S1GW_CTR_PFCP_HEARTBEAT_REQ_TIMEOUT, + ?S1GW_CTR_PFCP_HEARTBEAT_RESP_RX, + ?S1GW_CTR_PFCP_HEARTBEAT_REQ_RX, + ?S1GW_CTR_PFCP_HEARTBEAT_RESP_TX, ?S1GW_CTR_PFCP_ASSOC_SETUP_REQ_TX, ?S1GW_CTR_PFCP_ASSOC_SETUP_REQ_TIMEOUT, ?S1GW_CTR_PFCP_ASSOC_SETUP_RESP_RX,