mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
opt.
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
import 'package:toolbox/data/model/server/cpu_status.dart';
|
||||
|
||||
class Cpu2Status {
|
||||
List<CpuStatus> _pre;
|
||||
List<CpuStatus> _now;
|
||||
String temp;
|
||||
Cpu2Status(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<CpuStatus> 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();
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -10,16 +10,16 @@ class DiskInfo {
|
||||
}
|
||||
*/
|
||||
|
||||
late String mountPath;
|
||||
late String mountLocation;
|
||||
late String path;
|
||||
late String loc;
|
||||
late int usedPercent;
|
||||
late String used;
|
||||
late String size;
|
||||
late String avail;
|
||||
|
||||
DiskInfo(
|
||||
this.mountPath,
|
||||
this.mountLocation,
|
||||
this.path,
|
||||
this.loc,
|
||||
this.usedPercent,
|
||||
this.used,
|
||||
this.size,
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
get initMemory => Memory(
|
||||
total: 1,
|
||||
used: 0,
|
||||
free: 1,
|
||||
cache: 0,
|
||||
avail: 1,
|
||||
);
|
||||
|
||||
class Memory {
|
||||
int total;
|
||||
int used;
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
import 'package:toolbox/core/extension/numx.dart';
|
||||
|
||||
get initNetSpeedPart => NetSpeedPart(
|
||||
'',
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
);
|
||||
get initNetSpeed => NetSpeed(
|
||||
[initNetSpeedPart],
|
||||
[initNetSpeedPart],
|
||||
);
|
||||
|
||||
class NetSpeedPart {
|
||||
String device;
|
||||
int bytesIn;
|
||||
|
||||
@@ -2,13 +2,13 @@ import 'package:dartssh2/dartssh2.dart';
|
||||
import 'package:toolbox/data/model/server/server_private_info.dart';
|
||||
import 'package:toolbox/data/model/server/server_status.dart';
|
||||
|
||||
class ServerInfo {
|
||||
ServerPrivateInfo info;
|
||||
class Server {
|
||||
ServerPrivateInfo spi;
|
||||
ServerStatus status;
|
||||
SSHClient? client;
|
||||
ServerConnectionState connectionState;
|
||||
ServerConnectionState cs;
|
||||
|
||||
ServerInfo(this.info, this.status, this.client, this.connectionState);
|
||||
Server(this.spi, this.status, this.client, this.cs);
|
||||
}
|
||||
|
||||
enum ServerConnectionState { disconnected, connecting, connected, failed }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:toolbox/data/model/server/cpu_2_status.dart';
|
||||
import 'package:toolbox/data/model/server/cpu_status.dart';
|
||||
import 'package:toolbox/data/model/server/disk_info.dart';
|
||||
import 'package:toolbox/data/model/server/memory.dart';
|
||||
import 'package:toolbox/data/model/server/net_speed.dart';
|
||||
@@ -8,6 +8,16 @@ import 'package:toolbox/data/model/server/tcp_status.dart';
|
||||
/// Code generated by jsonToDartModel https://ashamp.github.io/jsonToDartModel/
|
||||
///
|
||||
|
||||
get initStatus => ServerStatus(
|
||||
initCpuStatus,
|
||||
initMemory,
|
||||
'Loading...',
|
||||
'',
|
||||
[DiskInfo('/', '/', 0, '0', '0', '0')],
|
||||
TcpStatus(0, 0, 0, 0),
|
||||
initNetSpeed,
|
||||
);
|
||||
|
||||
class ServerStatus {
|
||||
/*
|
||||
{
|
||||
@@ -30,8 +40,8 @@ class ServerStatus {
|
||||
}
|
||||
*/
|
||||
|
||||
Cpu2Status cpu2Status;
|
||||
Memory memory;
|
||||
CpuStatus cpu;
|
||||
Memory mem;
|
||||
String sysVer;
|
||||
String uptime;
|
||||
List<DiskInfo> disk;
|
||||
@@ -39,7 +49,7 @@ class ServerStatus {
|
||||
NetSpeed netSpeed;
|
||||
String? failedInfo;
|
||||
|
||||
ServerStatus(this.cpu2Status, this.memory, this.sysVer, this.uptime,
|
||||
this.disk, this.tcp, this.netSpeed,
|
||||
ServerStatus(this.cpu, this.mem, this.sysVer, this.uptime, this.disk,
|
||||
this.tcp, this.netSpeed,
|
||||
{this.failedInfo});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user