From 8900ebfd2212a740f9a89017760d0039db1c3e84 Mon Sep 17 00:00:00 2001 From: chundonglinlin Date: Tue, 17 Jan 2023 16:21:26 +0800 Subject: [PATCH] API: Support return server/pid/service.(#3378) --- trunk/src/app/srs_app_http_api.cpp | 30 +++++++++++++++++++++++++++++ trunk/src/app/srs_app_rtc_api.cpp | 4 ++++ trunk/src/app/srs_app_statistic.cpp | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/trunk/src/app/srs_app_http_api.cpp b/trunk/src/app/srs_app_http_api.cpp index 2139008b878..3696f2c1bda 100644 --- a/trunk/src/app/srs_app_http_api.cpp +++ b/trunk/src/app/srs_app_http_api.cpp @@ -184,6 +184,8 @@ srs_error_t SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* urls = SrsJsonAny::object(); obj->set("urls", urls); @@ -222,6 +224,8 @@ srs_error_t SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* urls = SrsJsonAny::object(); obj->set("urls", urls); @@ -248,6 +252,8 @@ srs_error_t SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* urls = SrsJsonAny::object(); obj->set("urls", urls); @@ -297,6 +303,8 @@ srs_error_t SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -326,6 +334,8 @@ srs_error_t SrsGoApiSummaries::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMes obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); srs_api_dump_summaries(obj); @@ -349,6 +359,8 @@ srs_error_t SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -394,6 +406,8 @@ srs_error_t SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHtt obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -471,6 +485,8 @@ srs_error_t SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsH obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -510,6 +526,8 @@ srs_error_t SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -550,6 +568,8 @@ srs_error_t SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -577,6 +597,8 @@ srs_error_t SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -645,6 +667,8 @@ srs_error_t SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); SrsJsonObject* data = SrsJsonAny::object(); obj->set("data", data); @@ -700,6 +724,8 @@ srs_error_t SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessag obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); if (r->is_http_get()) { if (!vhost) { @@ -756,6 +782,8 @@ srs_error_t SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); if (r->is_http_get()) { if (!stream) { @@ -816,6 +844,8 @@ srs_error_t SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); obj->set("server", SrsJsonAny::str(stat->server_id().c_str())); + obj->set("service", SrsJsonAny::str(stat->service_id().c_str())); + obj->set("pid", SrsJsonAny::str(stat->service_pid().c_str())); if (r->is_http_get()) { if (!client) { diff --git a/trunk/src/app/srs_app_rtc_api.cpp b/trunk/src/app/srs_app_rtc_api.cpp index da932a2a45d..1d5a6576257 100644 --- a/trunk/src/app/srs_app_rtc_api.cpp +++ b/trunk/src/app/srs_app_rtc_api.cpp @@ -170,6 +170,8 @@ srs_error_t SrsGoApiRtcPlay::do_serve_http(ISrsHttpResponseWriter* w, ISrsHttpMe res->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); res->set("server", SrsJsonAny::str(SrsStatistic::instance()->server_id().c_str())); + res->set("service", SrsJsonAny::str(SrsStatistic::instance()->service_id().c_str())); + res->set("pid", SrsJsonAny::str(SrsStatistic::instance()->service_pid().c_str())); // TODO: add candidates in response json? res->set("sdp", SrsJsonAny::str(ruc.local_sdp_str_.c_str())); @@ -451,6 +453,8 @@ srs_error_t SrsGoApiRtcPublish::do_serve_http(ISrsHttpResponseWriter* w, ISrsHtt res->set("code", SrsJsonAny::integer(ERROR_SUCCESS)); res->set("server", SrsJsonAny::str(SrsStatistic::instance()->server_id().c_str())); + res->set("service", SrsJsonAny::str(SrsStatistic::instance()->service_id().c_str())); + res->set("pid", SrsJsonAny::str(SrsStatistic::instance()->service_pid().c_str())); // TODO: add candidates in response json? res->set("sdp", SrsJsonAny::str(ruc.local_sdp_str_.c_str())); diff --git a/trunk/src/app/srs_app_statistic.cpp b/trunk/src/app/srs_app_statistic.cpp index 62607968f04..81390637280 100644 --- a/trunk/src/app/srs_app_statistic.cpp +++ b/trunk/src/app/srs_app_statistic.cpp @@ -546,7 +546,7 @@ std::string SrsStatistic::server_id() std::string SrsStatistic::service_id() { if (service_id_.empty()) { - service_id_ = srs_int2str(getpid()); + service_id_ = srs_random_str(10); } return service_id_;