Author: Jason Molenda Date: 2020-06-15T16:37:56-07:00 New Revision: 480a383551e96d9f6fb0ddcdcc9d893faf37e5b3
URL: https://github.com/llvm/llvm-project/commit/480a383551e96d9f6fb0ddcdcc9d893faf37e5b3 DIFF: https://github.com/llvm/llvm-project/commit/480a383551e96d9f6fb0ddcdcc9d893faf37e5b3.diff LOG: Upstream two performance monitor collectors to MachTask Add two more perf monitors to MachTask::GetProfileData. <rdar://problem/63984105> Added: Modified: lldb/tools/debugserver/source/MacOSX/MachTask.mm Removed: ################################################################################ diff --git a/lldb/tools/debugserver/source/MacOSX/MachTask.mm b/lldb/tools/debugserver/source/MacOSX/MachTask.mm index 5d18c5628c63..fcbe6e71389e 100644 --- a/lldb/tools/debugserver/source/MacOSX/MachTask.mm +++ b/lldb/tools/debugserver/source/MacOSX/MachTask.mm @@ -64,6 +64,10 @@ #include <pmsample.h> #endif +extern "C" int +proc_get_cpumon_params(pid_t pid, int *percentage, + int *interval); // <libproc_internal.h> SPI + //---------------------------------------------------------------------- // MachTask constructor //---------------------------------------------------------------------- @@ -470,6 +474,16 @@ static void get_threads_profile_data(DNBProfileDataScanType scanType, } #endif + if (scanType & eProfileEnergyCPUCap) { + int percentage = -1; + int interval = -1; + int result = proc_get_cpumon_params(pid, &percentage, &interval); + if ((result == 0) && (percentage >= 0) && (interval >= 0)) { + profile_data_stream << "cpu_cap_p:" << percentage << ';'; + profile_data_stream << "cpu_cap_t:" << interval << ';'; + } + } + profile_data_stream << "--end--;"; result = profile_data_stream.str(); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits