From 795e8593da1b547bf2d9f2f6e15efd9836db4fc7 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 29 Dec 2022 10:14:19 +0100 Subject: [PATCH] MT#55831 restore reporting of number of running calls restore reporting of number of running calls (real ticket number: TT#27201) Change-Id: Ifc90f250d461a9e463df1efceb4acce184633f8b --- core/AmSession.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core/AmSession.cpp b/core/AmSession.cpp index 9cf11163..a8a77fbc 100644 --- a/core/AmSession.cpp +++ b/core/AmSession.cpp @@ -49,6 +49,9 @@ #include #include #include +#include +#include +#include volatile unsigned int AmSession::session_num = 0; AmMutex AmSession::session_num_mut; @@ -494,6 +497,14 @@ string AmSession::getNewId() { return id; } /* bookkeeping functions - TODO: move to monitoring */ +static inline void __update_session_count(unsigned int num) { + int fd = open("/proc/ngcp/check", O_RDONLY); + if (fd >= 0) { + // set calls usage + ioctl(fd, TCXONC, (int) num); + close(fd); + } +} void AmSession::session_started() { struct timeval now, delta; @@ -511,6 +522,8 @@ void AmSession::session_started() { if(session_num > max_session_num) max_session_num = session_num; session_num_mut.unlock(); + + __update_session_count(getSessionNum()); } void AmSession::session_stopped() { @@ -524,6 +537,8 @@ void AmSession::session_stopped() { //current session number session_num--; session_num_mut.unlock(); + + __update_session_count(getSessionNum()); } unsigned int AmSession::getSessionNum() {