summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2022-06-14 11:34:28 +0800
committerliuxueli <[email protected]>2022-06-14 11:34:28 +0800
commit81e1428745f52db3408d3a936c991973f951d9e7 (patch)
treea05c3f4b9bc40070879b142619b74bc15993b4e3
parentfff3e720250bedb28147b0ec84a56d422833f0f6 (diff)
TSG-10720,TSG-10722: SAPP提供获取链接最后一个数据包到达时间毫秒级的接口,精确计算链接通信时长(Duration)v5.7.2
-rw-r--r--src/tsg_gtp_signaling.cpp1
-rw-r--r--src/tsg_send_log.cpp16
2 files changed, 7 insertions, 10 deletions
diff --git a/src/tsg_gtp_signaling.cpp b/src/tsg_gtp_signaling.cpp
index d0dc79b..98f8c5e 100644
--- a/src/tsg_gtp_signaling.cpp
+++ b/src/tsg_gtp_signaling.cpp
@@ -175,7 +175,6 @@ int tsg_get_umts_user_info(const struct streaminfo *a_stream, struct umts_user_i
int tsg_gtp_signaling_hash_init(const char* conffile, void *logger)
{
- int hash_switch=0;
MESA_load_profile_int_def(conffile, "GTP_SIGNALING", "HASH_SWITCH", &g_tsg_para.hash_switch, 1);
if(g_tsg_para.hash_switch==0)
{
diff --git a/src/tsg_send_log.cpp b/src/tsg_send_log.cpp
index 6a6c298..be0d31e 100644
--- a/src/tsg_send_log.cpp
+++ b/src/tsg_send_log.cpp
@@ -490,9 +490,8 @@ static int set_tuple4(struct tsg_log_instance_t *_instance, struct TLD_handle_t
static int set_duraction(struct tsg_log_instance_t *_instance, struct TLD_handle_t *_handle, struct streaminfo *a_stream)
{
int ret=0;
- struct timespec tv;
long common_con_duration_ms=0;
- unsigned long long create_time=0;
+ unsigned long long create_time=0,last_time=0;
int size=sizeof(unsigned long long);
if(a_stream->ptcpdetail!=NULL)
@@ -503,13 +502,12 @@ static int set_duraction(struct tsg_log_instance_t *_instance, struct TLD_handle
ret=MESA_get_stream_opt(a_stream, MSO_STREAM_CREATE_TIMESTAMP_MS, (void *)&create_time, &size);
if(ret>=0)
{
- clock_gettime(CLOCK_REALTIME, &tv);
- common_con_duration_ms=tv.tv_sec*1000+tv.tv_nsec/1000/1000 - create_time;
- }
-
- if(common_con_duration_ms>0)
- {
- TLD_append(_handle, _instance->id2field[LOG_COMMON_CON_DURATION_MS].name, (void *)(common_con_duration_ms), TLD_TYPE_LONG);
+ ret=MESA_get_stream_opt(a_stream, MSO_STREAM_LASTUPDATE_TIMESTAMP_MS, (void *)&last_time, &size);
+ if(ret>=0 && last_time>create_time)
+ {
+ common_con_duration_ms=last_time-create_time;
+ TLD_append(_handle, _instance->id2field[LOG_COMMON_CON_DURATION_MS].name, (void *)(common_con_duration_ms), TLD_TYPE_LONG);
+ }
}
}
else