================
@@ -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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits