You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2021/10/28 05:12:00 UTC

[rocketmq-client-cpp] branch main updated: Enable message tracing in default mode (#388)

This is an automated email from the ASF dual-hosted git repository.

lizhanhui pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-cpp.git


The following commit(s) were added to refs/heads/main by this push:
     new ab3fdf9  Enable message tracing in default mode (#388)
ab3fdf9 is described below

commit ab3fdf915a633bd2ac3d24fa45819cdccd30d9a8
Author: aaron ai <ya...@gmail.com>
AuthorDate: Thu Oct 28 13:11:57 2021 +0800

    Enable message tracing in default mode (#388)
---
 src/main/cpp/client/include/ClientConfig.h            | 2 ++
 src/main/cpp/client/include/ClientConfigImpl.h        | 5 +++--
 src/main/cpp/client/mocks/include/ClientConfigMock.h  | 1 +
 src/main/cpp/tracing/exporters/include/OtlpExporter.h | 3 +++
 4 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/cpp/client/include/ClientConfig.h b/src/main/cpp/client/include/ClientConfig.h
index 669b220..97a1ec2 100644
--- a/src/main/cpp/client/include/ClientConfig.h
+++ b/src/main/cpp/client/include/ClientConfig.h
@@ -45,6 +45,8 @@ public:
   virtual const std::string& getGroupName() const = 0;
 
   virtual std::string clientId() const = 0;
+
+  virtual bool isTracingEnabled() const = 0;
 };
 
 ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/src/main/cpp/client/include/ClientConfigImpl.h b/src/main/cpp/client/include/ClientConfigImpl.h
index d277190..116eb7e 100644
--- a/src/main/cpp/client/include/ClientConfigImpl.h
+++ b/src/main/cpp/client/include/ClientConfigImpl.h
@@ -70,9 +70,10 @@ public:
     long_polling_timeout_ = timeout;
   }
 
-  bool isTracingEnabled() {
+  bool isTracingEnabled() const override {
     return enable_tracing_.load();
   }
+
   void enableTracing(bool enabled) {
     enable_tracing_.store(enabled);
   }
@@ -137,7 +138,7 @@ protected:
 
   absl::Duration long_polling_timeout_;
 
-  std::atomic<bool> enable_tracing_{false};
+  std::atomic<bool> enable_tracing_{true};
 
   static std::string steadyName();
 };
diff --git a/src/main/cpp/client/mocks/include/ClientConfigMock.h b/src/main/cpp/client/mocks/include/ClientConfigMock.h
index 703e348..115e0bf 100644
--- a/src/main/cpp/client/mocks/include/ClientConfigMock.h
+++ b/src/main/cpp/client/mocks/include/ClientConfigMock.h
@@ -33,6 +33,7 @@ public:
   MOCK_METHOD(absl::Duration, getLongPollingTimeout, (), (const override));
   MOCK_METHOD(const std::string&, getGroupName, (), (const override));
   MOCK_METHOD(std::string, clientId, (), (const override));
+  MOCK_METHOD(bool, isTracingEnabled, (), (const override));
 };
 
 ROCKETMQ_NAMESPACE_END
\ No newline at end of file
diff --git a/src/main/cpp/tracing/exporters/include/OtlpExporter.h b/src/main/cpp/tracing/exporters/include/OtlpExporter.h
index 3b6755b..f947a38 100644
--- a/src/main/cpp/tracing/exporters/include/OtlpExporter.h
+++ b/src/main/cpp/tracing/exporters/include/OtlpExporter.h
@@ -56,6 +56,9 @@ class OtlpExporter : public std::enable_shared_from_this<OtlpExporter> {
 public:
   OtlpExporter(std::weak_ptr<ClientManager> client_manager, ClientConfig* client_config)
       : client_manager_(std::move(client_manager)), client_config_(client_config) {
+    if (client_config_->isTracingEnabled()) {
+      mode_ = TraceMode::Grpc;
+    }
   }
 
   void updateHosts(std::vector<std::string> hosts) LOCKS_EXCLUDED(hosts_mtx_) {