This commit is contained in:
lollipopkit
2023-01-28 21:16:53 +08:00
parent be1a162632
commit a518dca0ca
19 changed files with 269 additions and 247 deletions

View File

@@ -1,7 +1,78 @@
get initOneTimeCpuStatus => OneTimeCpuStatus(
'cpu',
0,
0,
0,
0,
0,
0,
0,
);
get initCpuStatus => CpuStatus(
[initOneTimeCpuStatus],
[initOneTimeCpuStatus],
'',
);
class CpuStatus {
List<OneTimeCpuStatus> _pre;
List<OneTimeCpuStatus> _now;
String temp;
CpuStatus(this._pre, this._now, this.temp);
double usedPercent({int coreIdx = 0}) {
if (_now.length != _pre.length) return 0;
final idleDelta = _now[coreIdx].idle - _pre[coreIdx].idle;
final totalDelta = _now[coreIdx].total - _pre[coreIdx].total;
final used = idleDelta / totalDelta;
return used.isNaN ? 0 : 100 - used * 100;
}
void update(List<OneTimeCpuStatus> newStatus, String newTemp) {
_pre = _now;
_now = newStatus;
temp = newTemp;
}
int get coresCount => _now.length;
int get totalDelta => _now[0].total - _pre[0].total;
double get user {
if (_now.length != _pre.length) return 0;
final delta = _now[0].user - _pre[0].user;
final used = delta / totalDelta;
return used.isNaN ? 0 : used * 100;
}
double get sys {
if (_now.length != _pre.length) return 0;
final delta = _now[0].sys - _pre[0].sys;
final used = delta / totalDelta;
return used.isNaN ? 0 : used * 100;
}
double get nice {
if (_now.length != _pre.length) return 0;
final delta = _now[0].nice - _pre[0].nice;
final used = delta / totalDelta;
return used.isNaN ? 0 : used * 100;
}
double get iowait {
if (_now.length != _pre.length) return 0;
final delta = _now[0].iowait - _pre[0].iowait;
final used = delta / totalDelta;
return used.isNaN ? 0 : used * 100;
}
double get idle => 100 - usedPercent();
}
///
/// Code generated by jsonToDartModel https://ashamp.github.io/jsonToDartModel/
///
class CpuStatus {
class OneTimeCpuStatus {
/*
{
"user": 0,
@@ -23,7 +94,7 @@ class CpuStatus {
late int irq;
late int softirq;
CpuStatus(
OneTimeCpuStatus(
this.id,
this.user,
this.sys,