1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 03:41:55 +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.
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;
}

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_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"

View file

@ -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;
}

View file

@ -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());
}
}

View file

@ -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();

View file

@ -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);
/**

View file

@ -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) {

View file

@ -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();
};

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);
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;
}

View file

@ -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