Enable message tracing in default mode (#388)
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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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_) {