https://github.com/oontvoo updated https://github.com/llvm/llvm-project/pull/126588
>From c7734011094995c64137de6f8122033d2a981610 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Mon, 10 Feb 2025 14:44:11 -0500 Subject: [PATCH 01/10] Define TelemetryVendor plugin. Details: Upstream in LLDB, we will have a default TelemetryVendor plugin will provide a default Config and NULL TelemetryManager. Downstream vendors can extend this to provide a vendor-specific Config along with a functional TelemetryManager instance. --- lldb/include/lldb/Core/TelemetryVendor.h | 39 +++++++++++++++++++++ lldb/source/Core/TelemetryVendor.cpp | 43 ++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 lldb/include/lldb/Core/TelemetryVendor.h create mode 100644 lldb/source/Core/TelemetryVendor.cpp diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h new file mode 100644 index 0000000000000..a2ab3b69fde42 --- /dev/null +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -0,0 +1,39 @@ +//===-- TelemetryVendor.h -------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLDB_CORE_TELEMETRYVENDOR_H +#define LLDB_CORE_TELEMETRYVENDOR_H + +#include "lldb/Core/PluginInterface.h" +#include "lldb/Core/Telemetry.h" +#include "llvm/Telemetry/Telemetry.h" + +#include <memory> + +namespace lldb_private { + +class TelemetryVendor : public PluginInterface { +public: + TelemetryVendor() = default; + + llvm::StringRef GetPluginName() override; + + static void Initialize(); + + static void Terminate(); + + static std::unique_ptr<llvm::telemetry::Config> GetTelemetryConfig(); + static void + SetTelemetryConfig(std::unique_ptr<llvm::telemetry::Config> config); + + static lldb::TelemetryManagerSP GetTelemetryManager(); + static void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp); +}; + +} // namespace lldb_private +#endif // LLDB_CORE_TELEMETRYVENDOR_H diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp new file mode 100644 index 0000000000000..520a01b9b1c7a --- /dev/null +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -0,0 +1,43 @@ +//===-- TelemetryVendor.cpp -----------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "lldb/Core/TelemetryVendor.h" + +namespace lldb_private { + +llvm::StringRef TelemetryVendor::GetPluginName() { + return "UpstreamTelemetryVendor"; +} + +void TelemetryVendor::Initialize() { + // The default (upstream) impl will have telemetry disabled by default. + SetTelemetryConfig( + std::make_unique<llvm::telemetry::Config>(/*enable_telemetry*/ false)); + SetTelemetryManager(nullptr); +} + +static std::unique_ptr<llvm::telemetry::Config> current_config; +std::unique_ptr<llvm::telemetry::Config> TelemetryVendor::GetTelemetryConfig() { + return current_config; +} + +void TelemetryVendor::SetTelemetryConfig( + std::unique_ptr<llvm::telemetry::Config> config) { + current_config = std::move(config); +} + +lldb::TelemetryManagerSP TelemetryVendor::GetTelemetryManager() { + static TelemteryManagerSP g_telemetry_manager_sp; + return g_telemetry_manager_sp; +} + +void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp) { + GetTelemetryManager() = manager_sp; +} + +} // namespace lldb_private >From 5f6a04de76a5bf633ca9d14d9907d535301c5c59 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Tue, 11 Feb 2025 10:31:00 -0500 Subject: [PATCH 02/10] use shared ptr --- lldb/include/lldb/Core/TelemetryVendor.h | 7 ++++--- lldb/include/lldb/lldb-forward.h | 5 +++++ lldb/source/Core/TelemetryVendor.cpp | 14 +++++++------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index a2ab3b69fde42..a55f06fb9141f 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -27,11 +27,12 @@ class TelemetryVendor : public PluginInterface { static void Terminate(); - static std::unique_ptr<llvm::telemetry::Config> GetTelemetryConfig(); - static void - SetTelemetryConfig(std::unique_ptr<llvm::telemetry::Config> config); + static lldb::TelemetryConfig GetTelemetryConfig(); + + static void SetTelemetryConfig(const lldb::TelemetryConfigSP &config); static lldb::TelemetryManagerSP GetTelemetryManager(); + static void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp); }; diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index fc7456a4b9a32..2f2a4ec86a1fb 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -478,6 +478,11 @@ typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP; typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren> ScriptedSyntheticChildrenSP; typedef std::shared_ptr<lldb_private::SupportFile> SupportFileSP; +#ifdef LLDB_BUILD_TELEMETRY +typedef std::shared_ptr<llvm::telemetry::Config> TelemetryConfigSP; +typedef std::shared_ptr<lldb_private::telemetry::TelemetryManager> + TelemetryManagerSP; +#endif // LLDB_BUILD_TELEMETRY typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP; typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP; typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP; diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index 520a01b9b1c7a..0005848981f3b 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -16,19 +16,19 @@ llvm::StringRef TelemetryVendor::GetPluginName() { void TelemetryVendor::Initialize() { // The default (upstream) impl will have telemetry disabled by default. - SetTelemetryConfig( - std::make_unique<llvm::telemetry::Config>(/*enable_telemetry*/ false)); + SetTelemetryConfig(std::make_shared<new llvm::telemetry::Config>( + /*enable_telemetry*/ false)); SetTelemetryManager(nullptr); } -static std::unique_ptr<llvm::telemetry::Config> current_config; -std::unique_ptr<llvm::telemetry::Config> TelemetryVendor::GetTelemetryConfig() { - return current_config; +lldb::TelemetryConfigSP TelemetryVendor::GetTelemetryConfig() { + static lldb::TelemetryConfigSP g_config_sp; + return g_config_sp; } void TelemetryVendor::SetTelemetryConfig( - std::unique_ptr<llvm::telemetry::Config> config) { - current_config = std::move(config); + const lldb::TelemetryConfigSP &config) { + GetTelemetryCOnfig() = config; } lldb::TelemetryManagerSP TelemetryVendor::GetTelemetryManager() { >From b0335138dc728f7edf8708184e3a414a14bebf39 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Tue, 11 Feb 2025 10:51:00 -0500 Subject: [PATCH 03/10] use header guard --- lldb/include/lldb/Core/TelemetryVendor.h | 3 +++ lldb/source/Core/TelemetryVendor.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index a55f06fb9141f..12a214c233d6c 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// +#ifdef LLDB_BUILD_TELEMETRY #ifndef LLDB_CORE_TELEMETRYVENDOR_H #define LLDB_CORE_TELEMETRYVENDOR_H @@ -38,3 +39,5 @@ class TelemetryVendor : public PluginInterface { } // namespace lldb_private #endif // LLDB_CORE_TELEMETRYVENDOR_H + +#endif // LLDB_BUILD_TELEMETRY diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index 0005848981f3b..2fc68a5fa1b28 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// +#ifdef LLDB_BUILD_TELEMETRY #include "lldb/Core/TelemetryVendor.h" @@ -41,3 +42,5 @@ void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp) { } } // namespace lldb_private + +#ifdef LLDB_BUILD_TELEMETRY >From 58e1d0f6feb72da6b77b15301c3c6c474443bd0d Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Tue, 11 Feb 2025 10:59:52 -0500 Subject: [PATCH 04/10] fix cmake --- lldb/source/Core/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/lldb/source/Core/CMakeLists.txt b/lldb/source/Core/CMakeLists.txt index cf5f6ac9da489..db43d6132c595 100644 --- a/lldb/source/Core/CMakeLists.txt +++ b/lldb/source/Core/CMakeLists.txt @@ -58,6 +58,7 @@ add_lldb_library(lldbCore SourceManager.cpp StreamAsynchronousIO.cpp Telemetry.cpp + TelemetryVendor.cpp ThreadedCommunication.cpp UserSettingsController.cpp Value.cpp >From b767a2efb6f1d39e83523cfdf330ddd26a8cf892 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Tue, 11 Feb 2025 13:11:30 -0500 Subject: [PATCH 05/10] add header incl --- lldb/include/lldb/lldb-forward.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index 2f2a4ec86a1fb..b1696f520a55f 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -11,6 +11,11 @@ #include <memory> +#ifdef LLVM_BUILD_TELEMETRY +#include "llvm/Telemetry/Telemetry.h" +#include "lldb/Core/Telemetry.h" +#endif + // lldb forward declarations namespace lldb_private { >From bfc954b1b047330a80b58606193cb035dbf50e42 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Wed, 12 Feb 2025 10:20:36 -0500 Subject: [PATCH 06/10] review comment --- lldb/include/lldb/Core/TelemetryVendor.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index 12a214c233d6c..31275a150fb7e 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -5,11 +5,13 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -#ifdef LLDB_BUILD_TELEMETRY - #ifndef LLDB_CORE_TELEMETRYVENDOR_H #define LLDB_CORE_TELEMETRYVENDOR_H +#include "llvm/Config/llvm-config.h" + +#ifdef LLVM_BUILD_TELEMETRY + #include "lldb/Core/PluginInterface.h" #include "lldb/Core/Telemetry.h" #include "llvm/Telemetry/Telemetry.h" @@ -23,21 +25,19 @@ class TelemetryVendor : public PluginInterface { TelemetryVendor() = default; llvm::StringRef GetPluginName() override; - static void Initialize(); - static void Terminate(); - static lldb::TelemetryConfig GetTelemetryConfig(); - - static void SetTelemetryConfig(const lldb::TelemetryConfigSP &config); - static lldb::TelemetryManagerSP GetTelemetryManager(); + +protected: + static void SetTelemetryConfig(const lldb::TelemetryConfigSP &config); static void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp); }; } // namespace lldb_private -#endif // LLDB_CORE_TELEMETRYVENDOR_H -#endif // LLDB_BUILD_TELEMETRY +#endif // LLVM_BUILD_TELEMETRY + +#endif // LLDB_CORE_TELEMETRYVENDOR_H >From b3c50f1706bacdfa8fdecfd865c0be370f6cddab Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Wed, 12 Feb 2025 10:36:29 -0500 Subject: [PATCH 07/10] addressed review commeht --- lldb/include/lldb/Core/TelemetryVendor.h | 9 ++++---- lldb/include/lldb/lldb-forward.h | 11 +++++---- lldb/source/Core/TelemetryVendor.cpp | 29 +++++++++++++----------- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index 31275a150fb7e..d906a9a26ea49 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -27,13 +27,12 @@ class TelemetryVendor : public PluginInterface { llvm::StringRef GetPluginName() override; static void Initialize(); static void Terminate(); - static lldb::TelemetryConfig GetTelemetryConfig(); - static lldb::TelemetryManagerSP GetTelemetryManager(); - + static llvm::telemetry::Config *GetTelemetryConfig(); + static telemetry::TelemetryManager *GetTelemetryManager(); protected: - static void SetTelemetryConfig(const lldb::TelemetryConfigSP &config); - static void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp); + static void SetTelemetryConfig(const lldb::TelemetryConfigUP &config); + static void SetTelemetryManager(const lldb::TelemetryManagerUP &manager_sp); }; } // namespace lldb_private diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index b1696f520a55f..7b5cd1e82951b 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -11,6 +11,7 @@ #include <memory> +#include "llvm/Config/llvm-config.h" #ifdef LLVM_BUILD_TELEMETRY #include "llvm/Telemetry/Telemetry.h" #include "lldb/Core/Telemetry.h" @@ -483,11 +484,11 @@ typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP; typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren> ScriptedSyntheticChildrenSP; typedef std::shared_ptr<lldb_private::SupportFile> SupportFileSP; -#ifdef LLDB_BUILD_TELEMETRY -typedef std::shared_ptr<llvm::telemetry::Config> TelemetryConfigSP; -typedef std::shared_ptr<lldb_private::telemetry::TelemetryManager> - TelemetryManagerSP; -#endif // LLDB_BUILD_TELEMETRY +#ifdef LLVM_BUILD_TELEMETRY +typedef std::unique_ptr<llvm::telemetry::Config> TelemetryConfigUP; +typedef std::unique_ptr<lldb_private::telemetry::TelemetryManager> + TelemetryManagerUP; +#endif // LLVM_BUILD_TELEMETRY typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP; typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP; typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP; diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index 2fc68a5fa1b28..588063c2f82e0 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -5,7 +5,10 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -#ifdef LLDB_BUILD_TELEMETRY + +#include "llvm/Config/llvm-config.h" + +#ifdef LLVM_BUILD_TELEMETRY #include "lldb/Core/TelemetryVendor.h" @@ -22,25 +25,25 @@ void TelemetryVendor::Initialize() { SetTelemetryManager(nullptr); } -lldb::TelemetryConfigSP TelemetryVendor::GetTelemetryConfig() { - static lldb::TelemetryConfigSP g_config_sp; - return g_config_sp; +static lldb::TelemetryConfigUP g_config_up = + std::make_unique<llvm::telemetry::Config>(/*enable_telemetry*/ false); +lldb::TelemetryConfig *TelemetryVendor::GetTelemetryConfig() { + return g_config_up.get(); } -void TelemetryVendor::SetTelemetryConfig( - const lldb::TelemetryConfigSP &config) { - GetTelemetryCOnfig() = config; +static lldb::TelemteryManagerUP g_telemetry_manager_up = nullptr; +lldb::TelemetryManagerSP TelemetryVendor::GetTelemetryManager() { + return g_telemetry_manager_sp.get(); } -lldb::TelemetryManagerSP TelemetryVendor::GetTelemetryManager() { - static TelemteryManagerSP g_telemetry_manager_sp; - return g_telemetry_manager_sp; +void TelemetryVendor::SetTelemetryConfig(lldb::TelemetryConfigUP config) { + g_config_up = std::move(config); } -void SetTelemetryManager(const lldb::TelemetryManagerSP &manager_sp) { - GetTelemetryManager() = manager_sp; +void SetTelemetryManager(lldb::TelemetryManagerUP &manager) { + g_telemetry_manger_up = std::move(manager); } } // namespace lldb_private -#ifdef LLDB_BUILD_TELEMETRY +#endif LLVM_BUILD_TELEMETRY >From 0a43bd9e882487d29341d9d3089c5b26d592a4fa Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Wed, 12 Feb 2025 10:38:26 -0500 Subject: [PATCH 08/10] remove getpluginname --- lldb/include/lldb/Core/TelemetryVendor.h | 3 --- lldb/source/Core/TelemetryVendor.cpp | 4 ---- 2 files changed, 7 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index d906a9a26ea49..6509f7d8536da 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -22,9 +22,6 @@ namespace lldb_private { class TelemetryVendor : public PluginInterface { public: - TelemetryVendor() = default; - - llvm::StringRef GetPluginName() override; static void Initialize(); static void Terminate(); static llvm::telemetry::Config *GetTelemetryConfig(); diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index 588063c2f82e0..7f69a93324a6a 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -14,10 +14,6 @@ namespace lldb_private { -llvm::StringRef TelemetryVendor::GetPluginName() { - return "UpstreamTelemetryVendor"; -} - void TelemetryVendor::Initialize() { // The default (upstream) impl will have telemetry disabled by default. SetTelemetryConfig(std::make_shared<new llvm::telemetry::Config>( >From 5d80f30770553772f41813493eb22d296d305f9c Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Wed, 12 Feb 2025 10:40:16 -0500 Subject: [PATCH 09/10] simplified init/terminate --- lldb/include/lldb/Core/TelemetryVendor.h | 4 ++-- lldb/source/Core/TelemetryVendor.cpp | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index 6509f7d8536da..07f45538b7457 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -22,8 +22,8 @@ namespace lldb_private { class TelemetryVendor : public PluginInterface { public: - static void Initialize(); - static void Terminate(); + static void Initialize() {} + static void Terminate() {} static llvm::telemetry::Config *GetTelemetryConfig(); static telemetry::TelemetryManager *GetTelemetryManager(); diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index 7f69a93324a6a..cc9d01cf1772f 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -14,13 +14,6 @@ namespace lldb_private { -void TelemetryVendor::Initialize() { - // The default (upstream) impl will have telemetry disabled by default. - SetTelemetryConfig(std::make_shared<new llvm::telemetry::Config>( - /*enable_telemetry*/ false)); - SetTelemetryManager(nullptr); -} - static lldb::TelemetryConfigUP g_config_up = std::make_unique<llvm::telemetry::Config>(/*enable_telemetry*/ false); lldb::TelemetryConfig *TelemetryVendor::GetTelemetryConfig() { >From 57f8e863fbafaf4b47b39a3e022ec7dedda823a6 Mon Sep 17 00:00:00 2001 From: Vy Nguyen <v...@google.com> Date: Wed, 12 Feb 2025 10:47:41 -0500 Subject: [PATCH 10/10] fix namespace --- lldb/include/lldb/Core/TelemetryVendor.h | 4 ++-- lldb/include/lldb/lldb-forward.h | 10 +++++----- lldb/source/Core/TelemetryVendor.cpp | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lldb/include/lldb/Core/TelemetryVendor.h b/lldb/include/lldb/Core/TelemetryVendor.h index 07f45538b7457..54aba3bd14422 100644 --- a/lldb/include/lldb/Core/TelemetryVendor.h +++ b/lldb/include/lldb/Core/TelemetryVendor.h @@ -28,8 +28,8 @@ class TelemetryVendor : public PluginInterface { static telemetry::TelemetryManager *GetTelemetryManager(); protected: - static void SetTelemetryConfig(const lldb::TelemetryConfigUP &config); - static void SetTelemetryManager(const lldb::TelemetryManagerUP &manager_sp); + static void SetTelemetryConfig(const TelemetryConfigUP &config); + static void SetTelemetryManager(const TelemetryManagerUP &manager_sp); }; } // namespace lldb_private diff --git a/lldb/include/lldb/lldb-forward.h b/lldb/include/lldb/lldb-forward.h index 7b5cd1e82951b..71dd1e34ebc3b 100644 --- a/lldb/include/lldb/lldb-forward.h +++ b/lldb/include/lldb/lldb-forward.h @@ -243,6 +243,11 @@ class Progress; class Target; class TargetList; class TargetProperties; +#ifdef LLVM_BUILD_TELEMETRY +typedef std::unique_ptr<llvm::telemetry::Config> TelemetryConfigUP; +typedef std::unique_ptr<lldb_private::telemetry::TelemetryManager> + TelemetryManagerUP; +#endif // LLVM_BUILD_TELEMETRY class Thread; class ThreadCollection; class ThreadList; @@ -484,11 +489,6 @@ typedef std::shared_ptr<lldb_private::TypeSummaryOptions> TypeSummaryOptionsSP; typedef std::shared_ptr<lldb_private::ScriptedSyntheticChildren> ScriptedSyntheticChildrenSP; typedef std::shared_ptr<lldb_private::SupportFile> SupportFileSP; -#ifdef LLVM_BUILD_TELEMETRY -typedef std::unique_ptr<llvm::telemetry::Config> TelemetryConfigUP; -typedef std::unique_ptr<lldb_private::telemetry::TelemetryManager> - TelemetryManagerUP; -#endif // LLVM_BUILD_TELEMETRY typedef std::shared_ptr<lldb_private::UnixSignals> UnixSignalsSP; typedef std::weak_ptr<lldb_private::UnixSignals> UnixSignalsWP; typedef std::shared_ptr<lldb_private::UnwindAssembly> UnwindAssemblySP; diff --git a/lldb/source/Core/TelemetryVendor.cpp b/lldb/source/Core/TelemetryVendor.cpp index cc9d01cf1772f..5598526e3a55b 100644 --- a/lldb/source/Core/TelemetryVendor.cpp +++ b/lldb/source/Core/TelemetryVendor.cpp @@ -14,22 +14,22 @@ namespace lldb_private { -static lldb::TelemetryConfigUP g_config_up = +static TelemetryConfigUP g_config_up = std::make_unique<llvm::telemetry::Config>(/*enable_telemetry*/ false); lldb::TelemetryConfig *TelemetryVendor::GetTelemetryConfig() { return g_config_up.get(); } -static lldb::TelemteryManagerUP g_telemetry_manager_up = nullptr; +static TelemteryManagerUP g_telemetry_manager_up = nullptr; lldb::TelemetryManagerSP TelemetryVendor::GetTelemetryManager() { return g_telemetry_manager_sp.get(); } -void TelemetryVendor::SetTelemetryConfig(lldb::TelemetryConfigUP config) { +void TelemetryVendor::SetTelemetryConfig(TelemetryConfigUP config) { g_config_up = std::move(config); } -void SetTelemetryManager(lldb::TelemetryManagerUP &manager) { +void SetTelemetryManager(TelemetryManagerUP &manager) { g_telemetry_manger_up = std::move(manager); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits