summaryrefslogtreecommitdiff
path: root/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium/files/patch-base_process_process__metrics__openbsd.cc')
-rw-r--r--www/chromium/files/patch-base_process_process__metrics__openbsd.cc48
1 files changed, 35 insertions, 13 deletions
diff --git a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
index 1cc46d52fa55..97102c7e4f92 100644
--- a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
+++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc
@@ -1,6 +1,6 @@
---- base/process/process_metrics_openbsd.cc.orig 2022-02-07 13:39:41 UTC
+--- base/process/process_metrics_openbsd.cc.orig 2022-03-25 21:59:56 UTC
+++ base/process/process_metrics_openbsd.cc
-@@ -4,14 +4,30 @@
+@@ -4,17 +4,36 @@
#include "base/process/process_metrics.h"
@@ -31,27 +31,40 @@
namespace base {
-@@ -25,48 +41,13 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun
++ProcessMetrics::ProcessMetrics(ProcessHandle process)
++ : process_(process) {}
++
+ // static
+ std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
+ ProcessHandle process) {
+@@ -25,49 +44,24 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun
return false;
}
-static int GetProcessCPU(pid_t pid) {
-- struct kinfo_proc info;
++double ProcessMetrics::GetPlatformIndependentCPUUsage() {
+ struct kinfo_proc info;
- size_t length;
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid,
- sizeof(struct kinfo_proc), 0 };
--
++ size_t length = sizeof(struct kinfo_proc);
+
- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0)
- return -1;
--
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_,
++ sizeof(struct kinfo_proc), 1 };
+
- mib[5] = (length / sizeof(struct kinfo_proc));
--
++ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0)
++ return 0.0;
+
- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0)
- return 0;
-
- return info.p_pctcpu;
--}
--
++ return static_cast<double>((info.p_pctcpu * 100.0) / FSCALE);
+ }
+
-double ProcessMetrics::GetPlatformIndependentCPUUsage() {
- TimeTicks time = TimeTicks::Now();
-
@@ -74,14 +87,23 @@
return TimeDelta();
}
- ProcessMetrics::ProcessMetrics(ProcessHandle process)
+-ProcessMetrics::ProcessMetrics(ProcessHandle process)
- : process_(process),
- last_cpu_(0) {}
-+ : process_(process) {}
-
+-
size_t GetSystemCommitCharge() {
int mib[] = { CTL_VM, VM_METER };
-@@ -85,6 +66,129 @@ size_t GetSystemCommitCharge() {
+ int pagesize;
+@@ -75,7 +69,7 @@ size_t GetSystemCommitCharge() {
+ unsigned long mem_total, mem_free, mem_inactive;
+ size_t len = sizeof(vmtotal);
+
+- if (sysctl(mib, base::size(mib), &vmtotal, &len, NULL, 0) < 0)
++ if (sysctl(mib, std::size(mib), &vmtotal, &len, NULL, 0) < 0)
+ return 0;
+
+ mem_total = vmtotal.t_vm;
+@@ -85,6 +79,129 @@ size_t GetSystemCommitCharge() {
pagesize = getpagesize();
return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);