New - CPU Speed

logical Processors  removed
This commit is contained in:
MHSanaei 2023-05-25 15:48:23 +03:30
parent b3f7a6572e
commit 15211f81b1
3 changed files with 35 additions and 14 deletions

View file

@ -22,6 +22,19 @@ function sizeFormat(size) {
} }
} }
function cpuSpeedFormat(speed) {
const GHz = speed / 1000;
return GHz.toFixed(2) + " GHz";
}
function cpuCoreFormat(cores) {
if (cores === 1) {
return "1 Core";
} else {
return cores + " Cores";
}
}
function base64(str) { function base64(str) {
return Base64.encode(str); return Base64.encode(str);
} }

View file

@ -34,8 +34,8 @@
:stroke-color="status.cpu.color" :stroke-color="status.cpu.color"
:class="themeSwitcher.darkCardClass" :class="themeSwitcher.darkCardClass"
:percent="status.cpu.percent"></a-progress> :percent="status.cpu.percent"></a-progress>
<div>Cores: [[ status.cpuCores ]]</div> <div>CPU: [[ cpuCoreFormat(status.cpuCores) ]]</div>
<div>Logical Procs: [[ status.logicalProcessors ]]</div> <div>Speed: [[ cpuSpeedFormat(status.cpuSpeedMhz) ]]</div>
</a-col> </a-col>
<a-col :span="12" style="text-align: center"> <a-col :span="12" style="text-align: center">
<a-progress type="dashboard" status="normal" <a-progress type="dashboard" status="normal"
@ -178,7 +178,7 @@
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-icon type="arrow-up"></a-icon> <a-icon type="arrow-up"></a-icon>
[[ sizeFormat(status.netIO.up) ]] / S [[ sizeFormat(status.netIO.up) ]]/S
<a-tooltip> <a-tooltip>
<template slot="title"> <template slot="title">
{{ i18n "pages.index.upSpeed" }} {{ i18n "pages.index.upSpeed" }}
@ -188,7 +188,7 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-icon type="arrow-down"></a-icon> <a-icon type="arrow-down"></a-icon>
[[ sizeFormat(status.netIO.down) ]] / S [[ sizeFormat(status.netIO.down) ]]/S
<a-tooltip> <a-tooltip>
<template slot="title"> <template slot="title">
{{ i18n "pages.index.downSpeed" }} {{ i18n "pages.index.downSpeed" }}
@ -334,6 +334,8 @@
class Status { class Status {
constructor(data) { constructor(data) {
this.cpu = new CurTotal(0, 0); this.cpu = new CurTotal(0, 0);
this.cpuCores = 0;
this.cpuSpeedMhz = 0;
this.disk = new CurTotal(0, 0); this.disk = new CurTotal(0, 0);
this.loads = [0, 0, 0]; this.loads = [0, 0, 0];
this.mem = new CurTotal(0, 0); this.mem = new CurTotal(0, 0);
@ -343,8 +345,6 @@
this.swap = new CurTotal(0, 0); this.swap = new CurTotal(0, 0);
this.tcpCount = 0; this.tcpCount = 0;
this.udpCount = 0; this.udpCount = 0;
this.cpuCores = 0;
this.logicalProcessors = 0;
this.uptime = 0; this.uptime = 0;
this.xray = { state: State.Stop, errorMsg: "", version: "", color: "" }; this.xray = { state: State.Stop, errorMsg: "", version: "", color: "" };
@ -352,6 +352,8 @@
return; return;
} }
this.cpu = new CurTotal(data.cpu, 100); this.cpu = new CurTotal(data.cpu, 100);
this.cpuCores = data.cpuCores;
this.cpuSpeedMhz = data.cpuSpeedMhz;
this.disk = new CurTotal(data.disk.current, data.disk.total); this.disk = new CurTotal(data.disk.current, data.disk.total);
this.loads = data.loads.map(load => toFixed(load, 2)); this.loads = data.loads.map(load => toFixed(load, 2));
this.mem = new CurTotal(data.mem.current, data.mem.total); this.mem = new CurTotal(data.mem.current, data.mem.total);
@ -361,8 +363,6 @@
this.swap = new CurTotal(data.swap.current, data.swap.total); this.swap = new CurTotal(data.swap.current, data.swap.total);
this.tcpCount = data.tcpCount; this.tcpCount = data.tcpCount;
this.udpCount = data.udpCount; this.udpCount = data.udpCount;
this.cpuCores = data.cpuCores;
this.logicalProcessors = data.logicalProcessors;
this.uptime = data.uptime; this.uptime = data.uptime;
this.xray = data.xray; this.xray = data.xray;
switch (this.xray.state) { switch (this.xray.state) {

View file

@ -38,11 +38,11 @@ const (
) )
type Status struct { type Status struct {
T time.Time `json:"-"` T time.Time `json:"-"`
Cpu float64 `json:"cpu"` Cpu float64 `json:"cpu"`
CpuCores int `json:"cpuCores"` CpuCores int `json:"cpuCores"`
LogicalProcessors int `json:"logicalProcessors"` CpuSpeedMhz float64 `json:"cpuSpeedMhz"`
Mem struct { Mem struct {
Current uint64 `json:"current"` Current uint64 `json:"current"`
Total uint64 `json:"total"` Total uint64 `json:"total"`
} `json:"mem"` } `json:"mem"`
@ -131,7 +131,15 @@ func (s *ServerService) GetStatus(lastStatus *Status) *Status {
logger.Warning("get cpu cores count failed:", err) logger.Warning("get cpu cores count failed:", err)
} }
status.LogicalProcessors = runtime.NumCPU() cpuInfos, err := cpu.Info()
if err != nil {
logger.Warning("get cpu info failed:", err)
} else if len(cpuInfos) > 0 {
cpuInfo := cpuInfos[0]
status.CpuSpeedMhz = cpuInfo.Mhz // setting CPU speed in MHz
} else {
logger.Warning("could not find cpu info")
}
upTime, err := host.Uptime() upTime, err := host.Uptime()
if err != nil { if err != nil {