diff options
Diffstat (limited to 'lldb/source/Target/Statistics.cpp')
| -rw-r--r-- | lldb/source/Target/Statistics.cpp | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/lldb/source/Target/Statistics.cpp b/lldb/source/Target/Statistics.cpp index 2a5300012511..583d1524881f 100644 --- a/lldb/source/Target/Statistics.cpp +++ b/lldb/source/Target/Statistics.cpp @@ -107,7 +107,8 @@ TargetStats::ToJSON(Target &target, const lldb_private::StatisticsOptions &options) { json::Object target_metrics_json; ProcessSP process_sp = target.GetProcessSP(); - const bool summary_only = options.summary_only; + const bool summary_only = options.GetSummaryOnly(); + const bool include_modules = options.GetIncludeModules(); if (!summary_only) { CollectStats(target); @@ -117,8 +118,9 @@ TargetStats::ToJSON(Target &target, target_metrics_json.try_emplace(m_expr_eval.name, m_expr_eval.ToJSON()); target_metrics_json.try_emplace(m_frame_var.name, m_frame_var.ToJSON()); - target_metrics_json.try_emplace("moduleIdentifiers", - std::move(json_module_uuid_array)); + if (include_modules) + target_metrics_json.try_emplace("moduleIdentifiers", + std::move(json_module_uuid_array)); if (m_launch_or_attach_time && m_first_private_stop_time) { double elapsed_time = @@ -224,9 +226,11 @@ llvm::json::Value DebuggerStats::ReportStatistics( Debugger &debugger, Target *target, const lldb_private::StatisticsOptions &options) { - const bool summary_only = options.summary_only; - const bool load_all_debug_info = options.load_all_debug_info; - const bool include_transcript = options.include_transcript; + const bool summary_only = options.GetSummaryOnly(); + const bool load_all_debug_info = options.GetLoadAllDebugInfo(); + const bool include_targets = options.GetIncludeTargets(); + const bool include_modules = options.GetIncludeModules(); + const bool include_transcript = options.GetIncludeTranscript(); json::Array json_targets; json::Array json_modules; @@ -314,7 +318,7 @@ llvm::json::Value DebuggerStats::ReportStatistics( if (module_stat.debug_info_had_incomplete_types) ++num_modules_with_incomplete_types; - if (!summary_only) { + if (include_modules) { module_stat.identifier = (intptr_t)module; module_stat.path = module->GetFileSpec().GetPath(); if (ConstString object_name = module->GetObjectName()) { @@ -347,13 +351,15 @@ llvm::json::Value DebuggerStats::ReportStatistics( {"totalSymbolTableStripped", num_stripped_modules}, }; - if (target) { - json_targets.emplace_back(target->ReportStatistics(options)); - } else { - for (const auto &target : debugger.GetTargetList().Targets()) + if (include_targets) { + if (target) { json_targets.emplace_back(target->ReportStatistics(options)); + } else { + for (const auto &target : debugger.GetTargetList().Targets()) + json_targets.emplace_back(target->ReportStatistics(options)); + } + global_stats.try_emplace("targets", std::move(json_targets)); } - global_stats.try_emplace("targets", std::move(json_targets)); ConstStringStats const_string_stats; json::Object json_memory{ @@ -362,10 +368,13 @@ llvm::json::Value DebuggerStats::ReportStatistics( global_stats.try_emplace("memory", std::move(json_memory)); if (!summary_only) { json::Value cmd_stats = debugger.GetCommandInterpreter().GetStatistics(); - global_stats.try_emplace("modules", std::move(json_modules)); global_stats.try_emplace("commands", std::move(cmd_stats)); } + if (include_modules) { + global_stats.try_emplace("modules", std::move(json_modules)); + } + if (include_transcript) { // When transcript is available, add it to the to-be-returned statistics. // |
