Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-05-25 15:18:23 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-05-25 15:18:23 +0300
commit15211f81b1cfa370c94bd8f5af154a1ec0b828f2 (patch)
tree0b02486332bdb940cad42a7fa14eba02ed9a1376
parentb3f7a6572efa8a6959b2ea21771e585c9788c2ad (diff)
New - CPU Speed
logical Processors removed
-rw-r--r--web/assets/js/util/common.js13
-rw-r--r--web/html/xui/index.html16
-rw-r--r--web/service/server.go20
3 files changed, 35 insertions, 14 deletions
diff --git a/web/assets/js/util/common.js b/web/assets/js/util/common.js
index ab642849..d35c5208 100644
--- a/web/assets/js/util/common.js
+++ b/web/assets/js/util/common.js
@@ -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) {
return Base64.encode(str);
}
diff --git a/web/html/xui/index.html b/web/html/xui/index.html
index 7d919a30..5b42ca5d 100644
--- a/web/html/xui/index.html
+++ b/web/html/xui/index.html
@@ -34,8 +34,8 @@
:stroke-color="status.cpu.color"
:class="themeSwitcher.darkCardClass"
:percent="status.cpu.percent"></a-progress>
- <div>Cores: [[ status.cpuCores ]]</div>
- <div>Logical Procs: [[ status.logicalProcessors ]]</div>
+ <div>CPU: [[ cpuCoreFormat(status.cpuCores) ]]</div>
+ <div>Speed: [[ cpuSpeedFormat(status.cpuSpeedMhz) ]]</div>
</a-col>
<a-col :span="12" style="text-align: center">
<a-progress type="dashboard" status="normal"
@@ -178,7 +178,7 @@
<a-row>
<a-col :span="12">
<a-icon type="arrow-up"></a-icon>
- [[ sizeFormat(status.netIO.up) ]] / S
+ [[ sizeFormat(status.netIO.up) ]]/S
<a-tooltip>
<template slot="title">
{{ i18n "pages.index.upSpeed" }}
@@ -188,7 +188,7 @@
</a-col>
<a-col :span="12">
<a-icon type="arrow-down"></a-icon>
- [[ sizeFormat(status.netIO.down) ]] / S
+ [[ sizeFormat(status.netIO.down) ]]/S
<a-tooltip>
<template slot="title">
{{ i18n "pages.index.downSpeed" }}
@@ -334,6 +334,8 @@
class Status {
constructor(data) {
this.cpu = new CurTotal(0, 0);
+ this.cpuCores = 0;
+ this.cpuSpeedMhz = 0;
this.disk = new CurTotal(0, 0);
this.loads = [0, 0, 0];
this.mem = new CurTotal(0, 0);
@@ -343,8 +345,6 @@
this.swap = new CurTotal(0, 0);
this.tcpCount = 0;
this.udpCount = 0;
- this.cpuCores = 0;
- this.logicalProcessors = 0;
this.uptime = 0;
this.xray = { state: State.Stop, errorMsg: "", version: "", color: "" };
@@ -352,6 +352,8 @@
return;
}
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.loads = data.loads.map(load => toFixed(load, 2));
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.tcpCount = data.tcpCount;
this.udpCount = data.udpCount;
- this.cpuCores = data.cpuCores;
- this.logicalProcessors = data.logicalProcessors;
this.uptime = data.uptime;
this.xray = data.xray;
switch (this.xray.state) {
diff --git a/web/service/server.go b/web/service/server.go
index cace8eba..198aa590 100644
--- a/web/service/server.go
+++ b/web/service/server.go
@@ -38,11 +38,11 @@ const (
)
type Status struct {
- T time.Time `json:"-"`
- Cpu float64 `json:"cpu"`
- CpuCores int `json:"cpuCores"`
- LogicalProcessors int `json:"logicalProcessors"`
- Mem struct {
+ T time.Time `json:"-"`
+ Cpu float64 `json:"cpu"`
+ CpuCores int `json:"cpuCores"`
+ CpuSpeedMhz float64 `json:"cpuSpeedMhz"`
+ Mem struct {
Current uint64 `json:"current"`
Total uint64 `json:"total"`
} `json:"mem"`
@@ -131,7 +131,15 @@ func (s *ServerService) GetStatus(lastStatus *Status) *Status {
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()
if err != nil {