[Lldb-commits] [lldb] [LLDB][Telemetry]Define telemetry::CommandInfo (PR #129354)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Thu Mar 6 13:10:48 PST 2025


================
@@ -66,6 +80,52 @@ struct LLDBBaseTelemetryInfo : public llvm::telemetry::TelemetryInfo {
   void serialize(llvm::telemetry::Serializer &serializer) const override;
 };
 
+struct CommandInfo : public LLDBBaseTelemetryInfo {
+  /// If the command is/can be associated with a target entry this field
+  /// contains that target's UUID. <EMPTY> otherwise.
+  UUID target_uuid;
+  /// A unique ID for a command so the manager can match the start entry with
+  /// its end entry. These values only need to be unique within the same
+  /// session. Necessary because we'd send off an entry right before a command's
+  /// execution and another right after. This is to avoid losing telemetry if
+  /// the command does not execute successfully.
+  uint64_t command_id;
+  /// The command name(eg., "breakpoint set")
+  std::string command_name;
+  /// These two fields are not collected by default due to PII risks.
+  /// Vendor may allow them by setting the
+  /// LLDBConfig::detailed_command_telemetry.
+  /// @{
+  std::string original_command;
+  std::string args;
----------------
JDevlieghere wrote:

Would it be worth wrapping these in `std::optional` to make it more obvious that these fields are optional?

(I thought I left this comment in an earlier comment, but I can't find it so maybe I forgot to submit it)

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


More information about the lldb-commits mailing list