From e63c02e928014536944d4d3947b7a16def95e3e8 Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 16 Sep 2022 21:04:43 +0800 Subject: [PATCH] APM: Update statistic for APM. --- trunk/src/app/srs_app_latest_version.cpp | 3 +++ trunk/src/app/srs_app_tencentcloud.cpp | 14 ++++++++++++++ trunk/src/app/srs_app_tencentcloud.hpp | 3 +++ 3 files changed, 20 insertions(+) diff --git a/trunk/src/app/srs_app_latest_version.cpp b/trunk/src/app/srs_app_latest_version.cpp index e8d7c43d1..bd23c6a8e 100644 --- a/trunk/src/app/srs_app_latest_version.cpp +++ b/trunk/src/app/srs_app_latest_version.cpp @@ -159,6 +159,9 @@ void srs_build_features(stringstream& ss) SRS_CHECK_FEATURE2(_srs_cls->enabled(), "cls", ss); SRS_CHECK_FEATURE3(_srs_cls->nn_logs(), "logs", _srs_cls->nn_logs(), ss); + + SRS_CHECK_FEATURE2(_srs_apm->enabled(), "apm", ss); + SRS_CHECK_FEATURE3(_srs_apm->nn_spans(), "spans", _srs_apm->nn_spans(), ss); } SrsLatestVersion::SrsLatestVersion() diff --git a/trunk/src/app/srs_app_tencentcloud.cpp b/trunk/src/app/srs_app_tencentcloud.cpp index 5280f18ca..d6b06bf23 100644 --- a/trunk/src/app/srs_app_tencentcloud.cpp +++ b/trunk/src/app/srs_app_tencentcloud.cpp @@ -2086,6 +2086,7 @@ ISrsApmSpan* SrsApmSpan::load() SrsApmClient::SrsApmClient() { enabled_ = false; + nn_spans_ = 0; } SrsApmClient::~SrsApmClient() @@ -2121,6 +2122,9 @@ srs_error_t SrsApmClient::report() if (spans_.empty()) return err; + // Update statistaic for APM. + nn_spans_ += spans_.size(); + SrsOtelExportTraceServiceRequest* sugar = new SrsOtelExportTraceServiceRequest(); SrsAutoFree(SrsOtelExportTraceServiceRequest, sugar); @@ -2200,6 +2204,16 @@ srs_error_t SrsApmClient::report() return err; } +bool SrsApmClient::enabled() +{ + return enabled_; +} + +uint64_t SrsApmClient::nn_spans() +{ + return nn_spans_; +} + ISrsApmSpan* SrsApmClient::span(const std::string& name) { if (!enabled_) return new ISrsApmSpan(); diff --git a/trunk/src/app/srs_app_tencentcloud.hpp b/trunk/src/app/srs_app_tencentcloud.hpp index 16c31fbcc..839060cd7 100644 --- a/trunk/src/app/srs_app_tencentcloud.hpp +++ b/trunk/src/app/srs_app_tencentcloud.hpp @@ -492,6 +492,7 @@ class SrsApmClient { private: bool enabled_; + uint64_t nn_spans_; std::string token_; std::string endpoint_; std::string service_name_; @@ -503,6 +504,8 @@ public: public: srs_error_t initialize(); srs_error_t report(); + bool enabled(); + uint64_t nn_spans(); public: // Create a span with specified name. ISrsApmSpan* span(const std::string& name);