From a4410a4fa9031415d9d02896ad87e81453b475c4 Mon Sep 17 00:00:00 2001 From: winlin Date: Sun, 4 May 2014 10:45:13 +0800 Subject: [PATCH] update pithy-print to 10s. refine log --- trunk/conf/full.conf | 14 ++++----- trunk/src/app/srs_app_config.hpp | 14 ++++----- trunk/src/app/srs_app_edge.cpp | 4 +-- trunk/src/app/srs_app_encoder.cpp | 2 +- trunk/src/app/srs_app_hls.cpp | 17 +++++++---- trunk/src/app/srs_app_hls.hpp | 4 ++- trunk/src/app/srs_app_log.cpp | 44 +++++++++++++++++++---------- trunk/src/app/srs_app_log.hpp | 2 +- trunk/src/app/srs_app_rtmp_conn.cpp | 4 +-- trunk/src/kernel/srs_kernel_log.hpp | 4 +++ 10 files changed, 68 insertions(+), 41 deletions(-) diff --git a/trunk/conf/full.conf b/trunk/conf/full.conf index 252deaca9..4ca85c41e 100644 --- a/trunk/conf/full.conf +++ b/trunk/conf/full.conf @@ -902,24 +902,24 @@ vhost refer.anti_suck.com { # whatever the clients in concurrency. pithy_print { # shared print interval for all publish clients, in milliseconds. - # if not specified, set to 1100. + # default: 10000 publish 10000; # shared print interval for all play clients, in milliseconds. - # if not specified, set to 1300. + # default: 10000 play 10000; # shared print interval for all forwarders, in milliseconds. - # if not specified, set to 2000. + # default: 10000 forwarder 10000; # shared print interval for all encoders, in milliseconds. - # if not specified, set to 2000. + # default: 10000 encoder 10000; # shared print interval for all ingesters, in milliseconds. - # if not specified, set to 2000. + # default: 10000 ingester 10000; # shared print interval for all hls, in milliseconds. - # if not specified, set to 2000. + # default: 10000 hls 10000; # shared print interval for all edge, in milliseconds. - # if not specified, set to 2000. + # default: 10000 edge 10000; } diff --git a/trunk/src/app/srs_app_config.hpp b/trunk/src/app/srs_app_config.hpp index cde7112f9..6cd851de9 100644 --- a/trunk/src/app/srs_app_config.hpp +++ b/trunk/src/app/srs_app_config.hpp @@ -70,13 +70,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define SRS_CONF_DEFAULT_HTTP_STREAM_PORT 8080 #define SRS_CONF_DEFAULT_HTTP_API_PORT 1985 -#define SRS_STAGE_PLAY_USER_INTERVAL_MS 1300 -#define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 1100 -#define SRS_STAGE_FORWARDER_INTERVAL_MS 2000 -#define SRS_STAGE_ENCODER_INTERVAL_MS 2000 -#define SRS_STAGE_INGESTER_INTERVAL_MS 2000 -#define SRS_STAGE_HLS_INTERVAL_MS 2000 -#define SRS_STAGE_EDGE_INTERVAL_MS 2000 +#define SRS_STAGE_PLAY_USER_INTERVAL_MS 10000 +#define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 10000 +#define SRS_STAGE_FORWARDER_INTERVAL_MS 10000 +#define SRS_STAGE_ENCODER_INTERVAL_MS 10000 +#define SRS_STAGE_INGESTER_INTERVAL_MS 10000 +#define SRS_STAGE_HLS_INTERVAL_MS 10000 +#define SRS_STAGE_EDGE_INTERVAL_MS 10000 #define SRS_AUTO_INGEST_TYPE_FILE "file" #define SRS_AUTO_INGEST_TYPE_STREAM "stream" diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp index 9658da2cf..b6c56bef4 100644 --- a/trunk/src/app/srs_app_edge.cpp +++ b/trunk/src/app/srs_app_edge.cpp @@ -230,11 +230,11 @@ int SrsEdgeIngester::process_publish_message(SrsMessage* msg) srs_error("source process onMetaData message failed. ret=%d", ret); return ret; } - srs_trace("process onMetaData message success."); + srs_info("process onMetaData message success."); return ret; } - srs_trace("ignore AMF0/AMF3 data message."); + srs_info("ignore AMF0/AMF3 data message."); return ret; } diff --git a/trunk/src/app/srs_app_encoder.cpp b/trunk/src/app/srs_app_encoder.cpp index 66f3f0bec..59772f792 100644 --- a/trunk/src/app/srs_app_encoder.cpp +++ b/trunk/src/app/srs_app_encoder.cpp @@ -326,7 +326,7 @@ void SrsEncoder::encoder() // reportable if (pithy_print->can_print()) { // TODO: FIXME: show more info. - srs_trace("-> time=%"PRId64", encoders=%d, input=%s", + srs_trace("-> "SRS_LOG_ID_ENCODER" time=%"PRId64", encoders=%d, input=%s", pithy_print->age(), (int)ffmpegs.size(), input_stream_name.c_str()); } } diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index 2980462be..a90e868f3 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -517,7 +517,7 @@ SrsHlsAacJitter::SrsHlsAacJitter() SrsHlsMuxer::SrsHlsMuxer() { hls_fragment = hls_window = 0; - file_index = 0; + _sequence_no = 0; current = NULL; } @@ -533,6 +533,11 @@ SrsHlsMuxer::~SrsHlsMuxer() srs_freep(current); } +int SrsHlsMuxer::sequence_no() +{ + return _sequence_no; +} + int SrsHlsMuxer::update_config( string _app, string _stream, string path, int fragment, int window ) { @@ -567,7 +572,7 @@ int SrsHlsMuxer::segment_open(int64_t segment_start_dts) // new segment. current = new SrsHlsSegment(); - current->sequence_no = file_index++; + current->sequence_no = _sequence_no++; current->segment_start_dts = segment_start_dts; // generate filename. @@ -690,7 +695,7 @@ int SrsHlsMuxer::segment_close(string log_desc) if (current->duration * 1000 >= SRS_AUTO_HLS_SEGMENT_MIN_DURATION_MS) { segments.push_back(current); - srs_trace("%s reap ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"PRId64"", + srs_info("%s reap ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"PRId64"", log_desc.c_str(), current->sequence_no, current->uri.c_str(), current->duration, current->segment_start_dts); @@ -709,7 +714,7 @@ int SrsHlsMuxer::segment_close(string log_desc) } } else { // reuse current segment index. - file_index--; + _sequence_no--; srs_trace("%s drop ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"PRId64"", log_desc.c_str(), current->sequence_no, current->uri.c_str(), current->duration, @@ -1470,7 +1475,9 @@ void SrsHls::hls_mux() { // reportable if (pithy_print->can_print()) { - srs_trace("-> time=%"PRId64"", pithy_print->age()); + srs_trace("-> "SRS_LOG_ID_HLS + " time=%"PRId64", dts=%"PRId64", sequence_no=%d", + pithy_print->age(), stream_dts, muxer->sequence_no()); } pithy_print->elapse(); diff --git a/trunk/src/app/srs_app_hls.hpp b/trunk/src/app/srs_app_hls.hpp index 577abdedc..e97928dcc 100644 --- a/trunk/src/app/srs_app_hls.hpp +++ b/trunk/src/app/srs_app_hls.hpp @@ -147,7 +147,7 @@ private: int hls_fragment; int hls_window; private: - int file_index; + int _sequence_no; std::string m3u8; private: /** @@ -161,6 +161,8 @@ private: public: SrsHlsMuxer(); virtual ~SrsHlsMuxer(); +public: + virtual int sequence_no(); public: virtual int update_config(std::string _app, std::string _stream, std::string path, int fragment, int window); /** diff --git a/trunk/src/app/srs_app_log.cpp b/trunk/src/app/srs_app_log.cpp index 385f95ddf..f36363ba9 100644 --- a/trunk/src/app/srs_app_log.cpp +++ b/trunk/src/app/srs_app_log.cpp @@ -101,7 +101,7 @@ void SrsFastLog::verbose(const char* tag, int context_id, const char* fmt, ...) } int size = 0; - if (!generate_header(tag, context_id, "verb", &size)) { + if (!generate_header(false, tag, context_id, "verb", &size)) { return; } @@ -121,7 +121,7 @@ void SrsFastLog::info(const char* tag, int context_id, const char* fmt, ...) } int size = 0; - if (!generate_header(tag, context_id, "debug", &size)) { + if (!generate_header(false, tag, context_id, "debug", &size)) { return; } @@ -141,7 +141,7 @@ void SrsFastLog::trace(const char* tag, int context_id, const char* fmt, ...) } int size = 0; - if (!generate_header(tag, context_id, "trace", &size)) { + if (!generate_header(false, tag, context_id, "trace", &size)) { return; } @@ -161,7 +161,7 @@ void SrsFastLog::warn(const char* tag, int context_id, const char* fmt, ...) } int size = 0; - if (!generate_header(tag, context_id, "warn", &size)) { + if (!generate_header(true, tag, context_id, "warn", &size)) { return; } @@ -181,7 +181,7 @@ void SrsFastLog::error(const char* tag, int context_id, const char* fmt, ...) } int size = 0; - if (!generate_header(tag, context_id, "error", &size)) { + if (!generate_header(true, tag, context_id, "error", &size)) { return; } @@ -245,7 +245,7 @@ int SrsFastLog::on_reload_log_file() return ret; } -bool SrsFastLog::generate_header(const char* tag, int context_id, const char* level_name, int* header_size) +bool SrsFastLog::generate_header(bool error, const char* tag, int context_id, const char* level_name, int* header_size) { // clock time timeval tv; @@ -262,16 +262,30 @@ bool SrsFastLog::generate_header(const char* tag, int context_id, const char* le // write log header int log_header_size = -1; - if (tag) { - log_header_size = snprintf(log_data, LOG_MAX_SIZE, - "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] ", - 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), - level_name, tag, context_id, errno); + if (error) { + if (tag) { + log_header_size = snprintf(log_data, LOG_MAX_SIZE, + "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] ", + 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), + level_name, tag, context_id, errno); + } else { + log_header_size = snprintf(log_data, LOG_MAX_SIZE, + "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d][%d] ", + 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), + level_name, context_id, errno); + } } else { - log_header_size = snprintf(log_data, LOG_MAX_SIZE, - "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d][%d] ", - 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), - level_name, context_id, errno); + if (tag) { + log_header_size = snprintf(log_data, LOG_MAX_SIZE, + "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d] ", + 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), + level_name, tag, context_id); + } else { + log_header_size = snprintf(log_data, LOG_MAX_SIZE, + "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d] ", + 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)(tv.tv_usec / 1000), + level_name, context_id); + } } if (log_header_size == -1) { diff --git a/trunk/src/app/srs_app_log.hpp b/trunk/src/app/srs_app_log.hpp index 159855680..bb4c61bd8 100644 --- a/trunk/src/app/srs_app_log.hpp +++ b/trunk/src/app/srs_app_log.hpp @@ -84,7 +84,7 @@ public: virtual int on_reload_log_level(); virtual int on_reload_log_file(); private: - virtual bool generate_header(const char* tag, int context_id, const char* level_name, int* header_size); + virtual bool generate_header(bool error, const char* tag, int context_id, const char* level_name, int* header_size); virtual void write_log(int& fd, char* str_log, int size, int level); virtual void open_log_file(); }; diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 53f25ad25..57f3f9c5b 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -741,11 +741,11 @@ int SrsRtmpConn::process_publish_message(SrsSource* source, SrsMessage* msg, boo srs_error("source process onMetaData message failed. ret=%d", ret); return ret; } - srs_trace("process onMetaData message success."); + srs_info("process onMetaData message success."); return ret; } - srs_trace("ignore AMF0/AMF3 data message."); + srs_info("ignore AMF0/AMF3 data message."); return ret; } diff --git a/trunk/src/kernel/srs_kernel_log.hpp b/trunk/src/kernel/srs_kernel_log.hpp index 9c1993784..a0d8613b0 100644 --- a/trunk/src/kernel/srs_kernel_log.hpp +++ b/trunk/src/kernel/srs_kernel_log.hpp @@ -158,5 +158,9 @@ extern ISrsThreadContext* _srs_context; #define SRS_LOG_ID_WEB_PUBLISH "WPB" // ingester for edge(play)/origin #define SRS_LOG_ID_INGESTER "IGS" +// hls log id. +#define SRS_LOG_ID_HLS "HLS" +// encoder log id. +#define SRS_LOG_ID_ENCODER "ENC" #endif