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