[Lldb-commits] [lldb] [LLDB][Telemetry]Define DebuggerTelemetryInfo and related methods (PR #127696)

Vy Nguyen via lldb-commits lldb-commits at lists.llvm.org
Thu Feb 27 07:10:46 PST 2025


================
@@ -987,6 +1005,20 @@ void Debugger::Clear() {
   //     static void Debugger::Destroy(lldb::DebuggerSP &debugger_sp);
   //     static void Debugger::Terminate();
   llvm::call_once(m_clear_once, [this]() {
+    lldb_private::telemetry::ScopeTelemetryCollector helper;
+    if (helper.TelemetryEnabled()) {
+      // TBD: We *may* have to send off the log BEFORE the ClearIOHanders()?
+      helper.RunAtScopeExit([&helper, this]() {
+        lldb_private::telemetry::TelemetryManager *manager =
+            lldb_private::telemetry::TelemetryManager::GetInstance();
+        lldb_private::telemetry::DebuggerInfo entry;
+        entry.debugger = this;
+        entry.exit_desc = {0, ""}; // If we are here, there was no error.
----------------
oontvoo wrote:

In the case of success, which is in this case, the exit_code is 0 and there's no description.
In the case of an error (which can only be caught in a crash-handler, as we discussed), the exit code and description can be something else.

This is NOT handling the exit of a process yet. That will be done in another PR (will be called from Process::SetExitDescription() )

https://github.com/llvm/llvm-project/pull/127696


More information about the lldb-commits mailing list