1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

update pithy-print to 10s. refine log

This commit is contained in:
winlin 2014-05-04 10:45:13 +08:00
parent 243a2eabf5
commit a4410a4fa9
10 changed files with 68 additions and 41 deletions

View file

@ -902,24 +902,24 @@ vhost refer.anti_suck.com {
# whatever the clients in concurrency. # whatever the clients in concurrency.
pithy_print { pithy_print {
# shared print interval for all publish clients, in milliseconds. # shared print interval for all publish clients, in milliseconds.
# if not specified, set to 1100. # default: 10000
publish 10000; publish 10000;
# shared print interval for all play clients, in milliseconds. # shared print interval for all play clients, in milliseconds.
# if not specified, set to 1300. # default: 10000
play 10000; play 10000;
# shared print interval for all forwarders, in milliseconds. # shared print interval for all forwarders, in milliseconds.
# if not specified, set to 2000. # default: 10000
forwarder 10000; forwarder 10000;
# shared print interval for all encoders, in milliseconds. # shared print interval for all encoders, in milliseconds.
# if not specified, set to 2000. # default: 10000
encoder 10000; encoder 10000;
# shared print interval for all ingesters, in milliseconds. # shared print interval for all ingesters, in milliseconds.
# if not specified, set to 2000. # default: 10000
ingester 10000; ingester 10000;
# shared print interval for all hls, in milliseconds. # shared print interval for all hls, in milliseconds.
# if not specified, set to 2000. # default: 10000
hls 10000; hls 10000;
# shared print interval for all edge, in milliseconds. # shared print interval for all edge, in milliseconds.
# if not specified, set to 2000. # default: 10000
edge 10000; edge 10000;
} }

View file

@ -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_STREAM_PORT 8080
#define SRS_CONF_DEFAULT_HTTP_API_PORT 1985 #define SRS_CONF_DEFAULT_HTTP_API_PORT 1985
#define SRS_STAGE_PLAY_USER_INTERVAL_MS 1300 #define SRS_STAGE_PLAY_USER_INTERVAL_MS 10000
#define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 1100 #define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 10000
#define SRS_STAGE_FORWARDER_INTERVAL_MS 2000 #define SRS_STAGE_FORWARDER_INTERVAL_MS 10000
#define SRS_STAGE_ENCODER_INTERVAL_MS 2000 #define SRS_STAGE_ENCODER_INTERVAL_MS 10000
#define SRS_STAGE_INGESTER_INTERVAL_MS 2000 #define SRS_STAGE_INGESTER_INTERVAL_MS 10000
#define SRS_STAGE_HLS_INTERVAL_MS 2000 #define SRS_STAGE_HLS_INTERVAL_MS 10000
#define SRS_STAGE_EDGE_INTERVAL_MS 2000 #define SRS_STAGE_EDGE_INTERVAL_MS 10000
#define SRS_AUTO_INGEST_TYPE_FILE "file" #define SRS_AUTO_INGEST_TYPE_FILE "file"
#define SRS_AUTO_INGEST_TYPE_STREAM "stream" #define SRS_AUTO_INGEST_TYPE_STREAM "stream"

View file

@ -230,11 +230,11 @@ int SrsEdgeIngester::process_publish_message(SrsMessage* msg)
srs_error("source process onMetaData message failed. ret=%d", ret); srs_error("source process onMetaData message failed. ret=%d", ret);
return ret; return ret;
} }
srs_trace("process onMetaData message success."); srs_info("process onMetaData message success.");
return ret; return ret;
} }
srs_trace("ignore AMF0/AMF3 data message."); srs_info("ignore AMF0/AMF3 data message.");
return ret; return ret;
} }

View file

@ -326,7 +326,7 @@ void SrsEncoder::encoder()
// reportable // reportable
if (pithy_print->can_print()) { if (pithy_print->can_print()) {
// TODO: FIXME: show more info. // 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()); pithy_print->age(), (int)ffmpegs.size(), input_stream_name.c_str());
} }
} }

View file

@ -517,7 +517,7 @@ SrsHlsAacJitter::SrsHlsAacJitter()
SrsHlsMuxer::SrsHlsMuxer() SrsHlsMuxer::SrsHlsMuxer()
{ {
hls_fragment = hls_window = 0; hls_fragment = hls_window = 0;
file_index = 0; _sequence_no = 0;
current = NULL; current = NULL;
} }
@ -533,6 +533,11 @@ SrsHlsMuxer::~SrsHlsMuxer()
srs_freep(current); srs_freep(current);
} }
int SrsHlsMuxer::sequence_no()
{
return _sequence_no;
}
int SrsHlsMuxer::update_config( int SrsHlsMuxer::update_config(
string _app, string _stream, string path, int fragment, int window 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. // new segment.
current = new SrsHlsSegment(); current = new SrsHlsSegment();
current->sequence_no = file_index++; current->sequence_no = _sequence_no++;
current->segment_start_dts = segment_start_dts; current->segment_start_dts = segment_start_dts;
// generate filename. // generate filename.
@ -690,7 +695,7 @@ int SrsHlsMuxer::segment_close(string log_desc)
if (current->duration * 1000 >= SRS_AUTO_HLS_SEGMENT_MIN_DURATION_MS) { if (current->duration * 1000 >= SRS_AUTO_HLS_SEGMENT_MIN_DURATION_MS) {
segments.push_back(current); 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, log_desc.c_str(), current->sequence_no, current->uri.c_str(), current->duration,
current->segment_start_dts); current->segment_start_dts);
@ -709,7 +714,7 @@ int SrsHlsMuxer::segment_close(string log_desc)
} }
} else { } else {
// reuse current segment index. // reuse current segment index.
file_index--; _sequence_no--;
srs_trace("%s drop ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"PRId64"", 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, log_desc.c_str(), current->sequence_no, current->uri.c_str(), current->duration,
@ -1470,7 +1475,9 @@ void SrsHls::hls_mux()
{ {
// reportable // reportable
if (pithy_print->can_print()) { 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(); pithy_print->elapse();

View file

@ -147,7 +147,7 @@ private:
int hls_fragment; int hls_fragment;
int hls_window; int hls_window;
private: private:
int file_index; int _sequence_no;
std::string m3u8; std::string m3u8;
private: private:
/** /**
@ -161,6 +161,8 @@ private:
public: public:
SrsHlsMuxer(); SrsHlsMuxer();
virtual ~SrsHlsMuxer(); virtual ~SrsHlsMuxer();
public:
virtual int sequence_no();
public: public:
virtual int update_config(std::string _app, std::string _stream, std::string path, int fragment, int window); virtual int update_config(std::string _app, std::string _stream, std::string path, int fragment, int window);
/** /**

View file

@ -101,7 +101,7 @@ void SrsFastLog::verbose(const char* tag, int context_id, const char* fmt, ...)
} }
int size = 0; int size = 0;
if (!generate_header(tag, context_id, "verb", &size)) { if (!generate_header(false, tag, context_id, "verb", &size)) {
return; return;
} }
@ -121,7 +121,7 @@ void SrsFastLog::info(const char* tag, int context_id, const char* fmt, ...)
} }
int size = 0; int size = 0;
if (!generate_header(tag, context_id, "debug", &size)) { if (!generate_header(false, tag, context_id, "debug", &size)) {
return; return;
} }
@ -141,7 +141,7 @@ void SrsFastLog::trace(const char* tag, int context_id, const char* fmt, ...)
} }
int size = 0; int size = 0;
if (!generate_header(tag, context_id, "trace", &size)) { if (!generate_header(false, tag, context_id, "trace", &size)) {
return; return;
} }
@ -161,7 +161,7 @@ void SrsFastLog::warn(const char* tag, int context_id, const char* fmt, ...)
} }
int size = 0; int size = 0;
if (!generate_header(tag, context_id, "warn", &size)) { if (!generate_header(true, tag, context_id, "warn", &size)) {
return; return;
} }
@ -181,7 +181,7 @@ void SrsFastLog::error(const char* tag, int context_id, const char* fmt, ...)
} }
int size = 0; int size = 0;
if (!generate_header(tag, context_id, "error", &size)) { if (!generate_header(true, tag, context_id, "error", &size)) {
return; return;
} }
@ -245,7 +245,7 @@ int SrsFastLog::on_reload_log_file()
return ret; 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 // clock time
timeval tv; timeval tv;
@ -262,16 +262,30 @@ bool SrsFastLog::generate_header(const char* tag, int context_id, const char* le
// write log header // write log header
int log_header_size = -1; int log_header_size = -1;
if (tag) { if (error) {
log_header_size = snprintf(log_data, LOG_MAX_SIZE, if (tag) {
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] ", log_header_size = snprintf(log_data, LOG_MAX_SIZE,
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), "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] ",
level_name, tag, context_id, errno); 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 { } else {
log_header_size = snprintf(log_data, LOG_MAX_SIZE, if (tag) {
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d][%d] ", log_header_size = snprintf(log_data, LOG_MAX_SIZE,
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), "[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d] ",
level_name, context_id, errno); 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) { if (log_header_size == -1) {

View file

@ -84,7 +84,7 @@ public:
virtual int on_reload_log_level(); virtual int on_reload_log_level();
virtual int on_reload_log_file(); virtual int on_reload_log_file();
private: 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 write_log(int& fd, char* str_log, int size, int level);
virtual void open_log_file(); virtual void open_log_file();
}; };

View file

@ -741,11 +741,11 @@ int SrsRtmpConn::process_publish_message(SrsSource* source, SrsMessage* msg, boo
srs_error("source process onMetaData message failed. ret=%d", ret); srs_error("source process onMetaData message failed. ret=%d", ret);
return ret; return ret;
} }
srs_trace("process onMetaData message success."); srs_info("process onMetaData message success.");
return ret; return ret;
} }
srs_trace("ignore AMF0/AMF3 data message."); srs_info("ignore AMF0/AMF3 data message.");
return ret; return ret;
} }

View file

@ -158,5 +158,9 @@ extern ISrsThreadContext* _srs_context;
#define SRS_LOG_ID_WEB_PUBLISH "WPB" #define SRS_LOG_ID_WEB_PUBLISH "WPB"
// ingester for edge(play)/origin // ingester for edge(play)/origin
#define SRS_LOG_ID_INGESTER "IGS" #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 #endif