diff --git a/trunk/src/app/srs_app_http_api.cpp b/trunk/src/app/srs_app_http_api.cpp index 2825713c7..a7a8fe65f 100755 --- a/trunk/src/app/srs_app_http_api.cpp +++ b/trunk/src/app/srs_app_http_api.cpp @@ -113,11 +113,11 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) << SRS_JFIELD_STR("vhosts", "dumps vhost to json") << SRS_JFIELD_CONT << SRS_JFIELD_STR("streams", "dumps streams to json") << SRS_JFIELD_CONT << SRS_JFIELD_STR("clients", "dumps clients to json") << SRS_JFIELD_CONT - << SRS_JFIELD_ORG("test", SRS_JOBJECT_START) + << SRS_JFIELD_ORG("tests", SRS_JOBJECT_START) << SRS_JFIELD_STR("requests", "show the request info") << SRS_JFIELD_CONT << SRS_JFIELD_STR("errors", "always return an error 100") << SRS_JFIELD_CONT << SRS_JFIELD_STR("redirects", "always redirect to /api/v1/test/errors") << SRS_JFIELD_CONT - << SRS_JFIELD_STR(".vhost.", "http vhost for error.srs.com/api/v1/test/errors") + << SRS_JFIELD_STR("[vhost]", "http vhost for http://error.srs.com:1985/api/v1/tests/errors") << SRS_JOBJECT_END << SRS_JOBJECT_END << SRS_JOBJECT_END; diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index afc82e965..3c5cfb227 100755 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -811,19 +811,19 @@ int SrsServer::http_handle() } // test the request info. - if ((ret = http_api_mux->handle("/api/v1/test/requests", new SrsGoApiRequests())) != ERROR_SUCCESS) { + if ((ret = http_api_mux->handle("/api/v1/tests/requests", new SrsGoApiRequests())) != ERROR_SUCCESS) { return ret; } // test the error code response. - if ((ret = http_api_mux->handle("/api/v1/test/errors", new SrsGoApiError())) != ERROR_SUCCESS) { + if ((ret = http_api_mux->handle("/api/v1/tests/errors", new SrsGoApiError())) != ERROR_SUCCESS) { return ret; } // test the redirect mechenism. - if ((ret = http_api_mux->handle("/api/v1/test/redirects", new SrsHttpRedirectHandler("/api/v1/test/errors", SRS_CONSTS_HTTP_MovedPermanently))) != ERROR_SUCCESS) { + if ((ret = http_api_mux->handle("/api/v1/tests/redirects", new SrsHttpRedirectHandler("/api/v1/tests/errors", SRS_CONSTS_HTTP_MovedPermanently))) != ERROR_SUCCESS) { return ret; } // test the http vhost. - if ((ret = http_api_mux->handle("error.srs.com/api/v1/test/errors", new SrsGoApiError())) != ERROR_SUCCESS) { + if ((ret = http_api_mux->handle("error.srs.com/api/v1/tests/errors", new SrsGoApiError())) != ERROR_SUCCESS) { return ret; } diff --git a/trunk/src/app/srs_app_statistic.cpp b/trunk/src/app/srs_app_statistic.cpp index 0453c46d3..6d7b459bb 100755 --- a/trunk/src/app/srs_app_statistic.cpp +++ b/trunk/src/app/srs_app_statistic.cpp @@ -71,6 +71,10 @@ int SrsStatisticVhost::dumps(stringstream& ss) << SRS_JFIELD_ORG("clients", nb_clients) << SRS_JFIELD_CONT << SRS_JFIELD_ORG("send_bytes", kbps->get_send_bytes()) << SRS_JFIELD_CONT << SRS_JFIELD_ORG("recv_bytes", kbps->get_recv_bytes()) << SRS_JFIELD_CONT + << SRS_JFIELD_OBJ("kbps") + << SRS_JFIELD_ORG("r30s", kbps->get_recv_kbps_30s()) << SRS_JFIELD_CONT + << SRS_JFIELD_ORG("s30s", kbps->get_send_kbps_30s()) + << SRS_JOBJECT_END << SRS_JFIELD_CONT << SRS_JFIELD_NAME("hls") << SRS_JOBJECT_START << SRS_JFIELD_BOOL("enabled", hls_enabled); if (hls_enabled) { @@ -123,6 +127,10 @@ int SrsStatisticStream::dumps(stringstream& ss) << SRS_JFIELD_ORG("clients", nb_clients) << SRS_JFIELD_CONT << SRS_JFIELD_ORG("send_bytes", kbps->get_send_bytes()) << SRS_JFIELD_CONT << SRS_JFIELD_ORG("recv_bytes", kbps->get_recv_bytes()) << SRS_JFIELD_CONT + << SRS_JFIELD_OBJ("kbps") + << SRS_JFIELD_ORG("r30s", kbps->get_recv_kbps_30s()) << SRS_JFIELD_CONT + << SRS_JFIELD_ORG("s30s", kbps->get_send_kbps_30s()) + << SRS_JOBJECT_END << SRS_JFIELD_CONT << SRS_JFIELD_ORG("live_ms", srs_get_system_time_ms()) << SRS_JFIELD_CONT << SRS_JFIELD_STR("status", status) << SRS_JFIELD_CONT; diff --git a/trunk/src/main/srs_main_server.cpp b/trunk/src/main/srs_main_server.cpp index a91f637fb..73de98386 100644 --- a/trunk/src/main/srs_main_server.cpp +++ b/trunk/src/main/srs_main_server.cpp @@ -162,7 +162,7 @@ void show_macro_features() #endif #ifdef SRS_PERF_TCP_NODELAY - srs_warn("TCP_NODELAY enabled, hurts performance."); + srs_warn("TCP_NODELAY enabled, may hurts performance."); #else srs_trace("TCP_NODELAY disabled."); #endif @@ -276,8 +276,8 @@ int main(int argc, char** argv) } srs_trace("srs(simple-rtmp-server) "RTMP_SIG_SRS_VERSION); - srs_trace("license: "RTMP_SIG_SRS_LICENSE); - srs_trace("primary: "RTMP_SIG_SRS_PRIMARY); + srs_trace("license: "RTMP_SIG_SRS_LICENSE", "RTMP_SIG_SRS_COPYRIGHT); + srs_trace("primary/master: "RTMP_SIG_SRS_PRIMARY); srs_trace("authors: "RTMP_SIG_SRS_AUTHROS); srs_trace("contributors: "SRS_AUTO_CONSTRIBUTORS); srs_trace("uname: "SRS_AUTO_UNAME); diff --git a/trunk/src/protocol/srs_protocol_json.hpp b/trunk/src/protocol/srs_protocol_json.hpp index 3f5e1e1de..3b7a8989f 100644 --- a/trunk/src/protocol/srs_protocol_json.hpp +++ b/trunk/src/protocol/srs_protocol_json.hpp @@ -215,10 +215,11 @@ that is: //////////////////////////////////////////////////////////////////////// #define SRS_JOBJECT_START "{" #define SRS_JFIELD_NAME(k) "\"" << k << "\":" -#define SRS_JFIELD_STR(k, v) "\"" << k << "\":\"" << v << "\"" -#define SRS_JFIELD_ORG(k, v) "\"" << k << "\":" << std::dec << v +#define SRS_JFIELD_OBJ(k) SRS_JFIELD_NAME(k) << SRS_JOBJECT_START +#define SRS_JFIELD_STR(k, v) SRS_JFIELD_NAME(k) << "\"" << v << "\"" +#define SRS_JFIELD_ORG(k, v) SRS_JFIELD_NAME(k) << std::dec << v #define SRS_JFIELD_BOOL(k, v) SRS_JFIELD_ORG(k, (v? "true":"false")) -#define SRS_JFIELD_NULL(k) "\"" << k << "\":null" +#define SRS_JFIELD_NULL(k) SRS_JFIELD_NAME(k) << "null" #define SRS_JFIELD_ERROR(ret) "\"" << "code" << "\":" << ret #define SRS_JFIELD_CONT "," #define SRS_JOBJECT_END "}"