feat: add cumulativeCPUUsage to AppMetrics and CPUUsage (#41819)
This allows apps to measure their CPU usage over any given period without worrying about other calls affecting the output, as they would with `percentCPUUsage`.
This commit is contained in:
parent
f35a755086
commit
d8e4579e3c
5 changed files with 25 additions and 6 deletions
|
@ -274,8 +274,15 @@ v8::Local<v8::Value> ElectronBindings::GetCPUUsage(
|
|||
v8::Isolate* isolate) {
|
||||
auto dict = gin_helper::Dictionary::CreateEmpty(isolate);
|
||||
int processor_count = base::SysInfo::NumberOfProcessors();
|
||||
double usage = metrics->GetPlatformIndependentCPUUsage().value_or(0);
|
||||
dict.Set("percentCPUUsage", usage / processor_count);
|
||||
|
||||
// Default usage percentage to 0 for compatibility
|
||||
double usagePercent = 0;
|
||||
if (auto usage = metrics->GetCumulativeCPUUsage(); usage.has_value()) {
|
||||
dict.Set("cumulativeCPUUsage", usage->InSecondsF());
|
||||
usagePercent = metrics->GetPlatformIndependentCPUUsage(*usage);
|
||||
}
|
||||
|
||||
dict.Set("percentCPUUsage", usagePercent / processor_count);
|
||||
|
||||
// NB: This will throw NOTIMPLEMENTED() on Windows
|
||||
// For backwards compatibility, we'll return 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue