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,
--
To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/38534?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I61b28c41be4fe051adff1a5315b70409dea9b9cd
Gerrit-Change-Number: 38534
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>