pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40991?usp=email )


Change subject: sgsn: Add suport to obtain statsd output
......................................................................

sgsn: Add suport to obtain statsd output

It will be used in a follow-up commit in TC_stat_rnc_sctp_disconnected.

This new test infrastructure can still be used with osmo-sgsn latest
since it already initialized the statsd VTY commands despite having no
osmo_stats in use.

Change-Id: Ic86ce75ea700d05fc65fcea3cdab7b7eaac12069
---
M sgsn/README.md
M sgsn/SGSN_Tests.cfg
M sgsn/SGSN_Tests.default
M sgsn/SGSN_Tests.ttcn
M sgsn/gen_links.sh
M sgsn/osmo-sgsn.cfg
M sgsn/regen_makefile.sh
7 files changed, 41 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/91/40991/1

diff --git a/sgsn/README.md b/sgsn/README.md
index c6ee447..c161aff 100644
--- a/sgsn/README.md
+++ b/sgsn/README.md
@@ -6,6 +6,7 @@
     * Gp: GTP (emulates GGSN)
     * GSUP (emulates HLR)
     * VTY
+    * StatsD

 {% dot sgsn_tests.svg
 digraph G {
@@ -20,5 +21,6 @@
   ATS -> STP [label="Iu (IuPS)"];
   SGSN -> ATS [label="GSUP"];
   ATS -> SGSN [label="VTY"];
+  SGSN -> ATS [label="StatsD"];
 }
 %}
diff --git a/sgsn/SGSN_Tests.cfg b/sgsn/SGSN_Tests.cfg
index 365d4cd..edda944 100644
--- a/sgsn/SGSN_Tests.cfg
+++ b/sgsn/SGSN_Tests.cfg
@@ -10,6 +10,7 @@

 [TESTPORT_PARAMETERS]
 *.SGSNVTY.CTRL_HOSTNAME := "127.0.0.10"
+*.STATSVTY.CTRL_HOSTNAME := "127.0.0.10"

 [MODULE_PARAMETERS]
 SGSN_Tests.mp_nsconfig := {
diff --git a/sgsn/SGSN_Tests.default b/sgsn/SGSN_Tests.default
index f8d3e46..5a7b8c6 100644
--- a/sgsn/SGSN_Tests.default
+++ b/sgsn/SGSN_Tests.default
@@ -17,6 +17,15 @@
 *.SGSNVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes"
 *.SGSNVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes"
 *.SGSNVTY.PROMPT1 := "OsmoSGSN> "
+*.STATSVTY.CTRL_MODE := "client"
+*.STATSVTY.CTRL_HOSTNAME := "127.0.0.1"
+*.STATSVTY.CTRL_PORTNUM := "4245"
+*.STATSVTY.CTRL_LOGIN_SKIPPED := "yes"
+*.STATSVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes"
+*.STATSVTY.CTRL_READMODE := "buffered"
+*.STATSVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes"
+*.STATSVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes"
+*.STATSVTY.PROMPT1 := "OsmoSGSN> "
 *.STPVTY.CTRL_MODE := "client"
 *.STPVTY.CTRL_HOSTNAME := "127.0.0.1"
 *.STPVTY.CTRL_PORTNUM := "4239"
diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn
index 3e5ed5b..1b339cf 100644
--- a/sgsn/SGSN_Tests.ttcn
+++ b/sgsn/SGSN_Tests.ttcn
@@ -26,6 +26,11 @@
 import from Osmocom_Gb_Types all;
 import from SCCPasp_Types all;

+import from StatsD_Types all;
+import from StatsD_CodecPort all;
+import from StatsD_CodecPort_CtrlFunct all;
+import from StatsD_Checker all;
+
 import from MobileL3_CommonIE_Types all;
 import from MobileL3_GMM_SM_Types all;
 import from MobileL3_Types all;
@@ -72,6 +77,12 @@
        integer mp_echo_interval := 5; /* in seconds. Only used in test 
enabling g_use_echo  */
        charstring mp_sgsn_gtp_ip := "127.0.0.10";

+       /* Address where we listen for STATSD metrics */
+       charstring mp_local_statsd_ip := "127.0.0.1";
+       /* port number to which to listen for STATSD metrics */
+       integer mp_msc_statsd_port := 8125;
+       charstring mp_statsd_prefix := "TTCN3.";
+
        NSConfigurations mp_nsconfig := {
                {
                        nsei := 96,
@@ -174,7 +185,7 @@
 type record length(NUM_RNC) of IuInstance IuInstances;
 type record of RAN_Configuration RAN_Configurations;

-type component test_CT extends GTP_ConnHdlr {
+type component test_CT extends GTP_ConnHdlr, StatsD_ConnHdlr {
        var GbInstances g_gb;
        var IuInstances g_iu;
        var boolean g_iu_enable := false;
@@ -196,6 +207,10 @@
        port TELNETasp_PT SGSNVTY;
        port TELNETasp_PT STPVTY;

+       /* StatsD */
+       var StatsD_Checker_CT vc_STATSD;
+       var float g_statd_timeout := 5.0;
+
        var boolean g_initialized := false;
        var boolean g_use_echo := false;
 };
@@ -437,6 +452,7 @@
        }
        f_init_gsup("SGSN_Test");
        f_init_ggsn_gtp("SGSN_Test");
+       f_init_statsd("SGSN_Test", vc_STATSD, mp_local_statsd_ip, 
mp_msc_statsd_port, g_statd_timeout);
        f_vty_enable_echo_interval(g_use_echo);
 }

diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh
index fe1bf08..e991fd5 100755
--- a/sgsn/gen_links.sh
+++ b/sgsn/gen_links.sh
@@ -88,6 +88,7 @@
 FILES+="BSSGP_Emulation.ttcnpp Osmocom_Gb_Types.ttcn "
 FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn 
Osmocom_CTRL_Adapter.ttcn "
 FILES+="Osmocom_VTY_Functions.ttcn "
+FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn 
StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc 
StatsD_Checker.ttcnpp "
 FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
 FILES+="ITU_X213_Types.ttcn "
 FILES+="RAN_Emulation.ttcnpp RAN_Adapter.ttcnpp SCCP_Templates.ttcn "
diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg
index ae01923..e9f56c0 100644
--- a/sgsn/osmo-sgsn.cfg
+++ b/sgsn/osmo-sgsn.cfg
@@ -46,7 +46,15 @@
  logging level lm3ua notice
  logging level lmgcp notice
 !
-stats interval 5
+stats interval 0
+stats reporter statsd
+ prefix TTCN3
+ level subscriber
+ remote-ip 127.0.0.1
+ remote-port 8125
+ flush-period 1
+ mtu 1024
+ enable
 !
 line vty
  no login
diff --git a/sgsn/regen_makefile.sh b/sgsn/regen_makefile.sh
index c116d94..7034243 100755
--- a/sgsn/regen_makefile.sh
+++ b/sgsn/regen_makefile.sh
@@ -19,6 +19,7 @@
        RANAP_EncDec.cc
        SCCP_EncDec.cc
        SCTPasp_PT.cc
+       StatsD_CodecPort_CtrlFunctdef.cc
        TCCConversion.cc
        TCCInterface.cc
        TELNETasp_PT.cc
@@ -30,6 +31,7 @@
        -DIPA_EMULATION_GSUP
        -DRAN_EMULATION_RANAP
        -DUSE_MTP3_DISTRIBUTOR
+       -DSTATSD_HAVE_VTY
 "

 . ../_buildsystem/regen_makefile.inc.sh

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40991?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ic86ce75ea700d05fc65fcea3cdab7b7eaac12069
Gerrit-Change-Number: 40991
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pes...@sysmocom.de>

Reply via email to