From ca004fe33f9fac30782d5aa8e36441b09f150e2d Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 27 Jul 2020 12:44:29 +0800 Subject: [PATCH] RTC: Refine log for error pithy print --- trunk/src/app/srs_app_listener.cpp | 8 ++++---- trunk/src/app/srs_app_pithy_print.cpp | 3 +++ trunk/src/app/srs_app_pithy_print.hpp | 3 +++ trunk/src/app/srs_app_rtc_conn.cpp | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/trunk/src/app/srs_app_listener.cpp b/trunk/src/app/srs_app_listener.cpp index eaa14b0be..0c4386d59 100755 --- a/trunk/src/app/srs_app_listener.cpp +++ b/trunk/src/app/srs_app_listener.cpp @@ -506,8 +506,8 @@ srs_error_t SrsUdpMuxListener::cycle() uint64_t nn_loop = 0; srs_utime_t time_last = srs_get_system_time(); - SrsErrorPithyPrint* epp = new SrsErrorPithyPrint(); - SrsAutoFree(SrsErrorPithyPrint, epp); + SrsErrorPithyPrint* pp_pkt_handler_err = new SrsErrorPithyPrint(); + SrsAutoFree(SrsErrorPithyPrint, pp_pkt_handler_err); set_socket_buffer(); @@ -542,8 +542,8 @@ srs_error_t SrsUdpMuxListener::cycle() err = handler->on_udp_packet(&skt); } if (err != srs_success) { - if (epp->can_print(err)) { - srs_warn("handle udp pkt err: %s", srs_error_desc(err).c_str()); + if (pp_pkt_handler_err->can_print(err)) { + srs_warn("handle udp pkt, count=%u, err: %s", pp_pkt_handler_err->nn_count, srs_error_desc(err).c_str()); } srs_freep(err); } diff --git a/trunk/src/app/srs_app_pithy_print.cpp b/trunk/src/app/srs_app_pithy_print.cpp index e3f9e7e89..3f5ca5fc8 100644 --- a/trunk/src/app/srs_app_pithy_print.cpp +++ b/trunk/src/app/srs_app_pithy_print.cpp @@ -116,6 +116,7 @@ SrsStageInfo* SrsStageManager::fetch_or_create(int stage_id, bool* pnew) SrsErrorPithyPrint::SrsErrorPithyPrint() { + nn_count = 0; } SrsErrorPithyPrint::~SrsErrorPithyPrint() @@ -130,6 +131,8 @@ bool SrsErrorPithyPrint::can_print(srs_error_t err) bool SrsErrorPithyPrint::can_print(int error_code) { + nn_count++; + bool new_stage = false; SrsStageInfo* stage = stages.fetch_or_create(error_code, &new_stage); diff --git a/trunk/src/app/srs_app_pithy_print.hpp b/trunk/src/app/srs_app_pithy_print.hpp index cabd6d7ff..970810340 100644 --- a/trunk/src/app/srs_app_pithy_print.hpp +++ b/trunk/src/app/srs_app_pithy_print.hpp @@ -68,6 +68,9 @@ public: // For example, we use it for error pithy print for each UDP packet processing. class SrsErrorPithyPrint { +public: + // The number of call of can_print(). + uint32_t nn_count; private: SrsStageManager stages; std::map ticks; diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 9291f5346..131746a94 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -1956,8 +1956,8 @@ void SrsRtcConnection::update_sendonly_socket(SrsUdpMuxSocket* skt) if (prev_peer_id.empty()) { srs_trace("RTC: session address init %s", peer_id.c_str()); } else if (pp_address_change->can_print(skt->get_peer_port())) { - srs_trace("RTC: session address changed, update %s -> %s, cached=%d, total=%u", prev_peer_id.c_str(), - peer_id.c_str(), (addr_cache? 1:0), peer_addresses_.size()); + srs_trace("RTC: session address change %s -> %s, cached=%d, nn_change=%u, nn_address=%u", prev_peer_id.c_str(), + peer_id.c_str(), (addr_cache? 1:0), pp_address_change->nn_count, peer_addresses_.size()); } // Update the transport.