From 5c6857e896b0ad7b82c6c0c2d466f47dd0aa48d5 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 16 Aug 2024 10:11:11 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E5=8D=87=E7=BA=A7go?= =?UTF-8?q?psutil/v3=E5=88=B0gopsutil/v4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/state/getstate.go | 2 +- features/state/state_linux.go | 8 +-- features/state/state_windows.go | 8 +-- features/state/sysinfo.go | 49 +------------------ src/modules/monitor/service/monitor.impl.go | 10 ++-- src/modules/monitor/service/monitor_test.go | 10 ++-- .../monitor/service/system_info.impl.go | 18 ++++--- src/modules/ws/model/net_connect.go | 2 +- src/modules/ws/processor/net_connect.go | 4 +- src/modules/ws/processor/ps_process.go | 2 +- 10 files changed, 36 insertions(+), 77 deletions(-) diff --git a/features/state/getstate.go b/features/state/getstate.go index 482e9f51..9a79e508 100644 --- a/features/state/getstate.go +++ b/features/state/getstate.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/net" "github.com/go-resty/resty/v2" "github.com/gorilla/mux" diff --git a/features/state/state_linux.go b/features/state/state_linux.go index 4a4419f7..a0944a1a 100644 --- a/features/state/state_linux.go +++ b/features/state/state_linux.go @@ -12,10 +12,10 @@ import ( "time" "be.ems/lib/log" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/disk" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/process" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/disk" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/process" ) type SysInfo struct { diff --git a/features/state/state_windows.go b/features/state/state_windows.go index ef37c5ca..3ddf4844 100644 --- a/features/state/state_windows.go +++ b/features/state/state_windows.go @@ -11,10 +11,10 @@ import ( "syscall" "time" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/disk" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/process" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/disk" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/process" ) type SysInfo struct { diff --git a/features/state/sysinfo.go b/features/state/sysinfo.go index a9d0519a..f6f25b1c 100644 --- a/features/state/sysinfo.go +++ b/features/state/sysinfo.go @@ -2,55 +2,10 @@ package state import ( "be.ems/lib/log" - "github.com/shirou/gopsutil/cpu" - "github.com/shirou/gopsutil/disk" - "github.com/shirou/gopsutil/host" - "github.com/shirou/gopsutil/mem" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/mem" ) -func getSystemInfo() { - // 获取主机信息 - hostInfo, err := host.Info() - if err != nil { - log.Errorf("Failed to get host info: %v", err) - return - } - log.Tracef("Host info: %+v", hostInfo) - - // 获取CPU信息 - cpuInfo, err := cpu.Info() - if err != nil { - log.Errorf("Failed to get CPU info: %v", err) - return - } - log.Tracef("CPU info: %+v", cpuInfo) - - // 获取内存信息 - memInfo, err := mem.VirtualMemory() - if err != nil { - log.Errorf("Failed to get memory info: %v", err) - return - } - log.Tracef("Memory info: %+v", memInfo) - - // 获取磁盘分区信息 - diskPartitions, err := disk.Partitions(true) - if err != nil { - log.Errorf("Failed to get disk partitions: %v", err) - return - } - log.Tracef("Disk partitions: %+v", diskPartitions) - for _, partition := range diskPartitions { - // 获取每个磁盘分区的使用情况 - usage, err := disk.Usage(partition.Mountpoint) - if err != nil { - log.Errorf("Failed to get disk usage for %s: %v", partition.Mountpoint, err) - continue - } - log.Tracef("%s usage: %+v", partition.Mountpoint, usage) - } -} - func getCpuNumber() int { // 获取CPU信息 cpuInfo, err := cpu.Info() diff --git a/src/modules/monitor/service/monitor.impl.go b/src/modules/monitor/service/monitor.impl.go index 2a4d4d1b..4152193f 100644 --- a/src/modules/monitor/service/monitor.impl.go +++ b/src/modules/monitor/service/monitor.impl.go @@ -9,11 +9,11 @@ import ( "be.ems/src/modules/monitor/model" "be.ems/src/modules/monitor/repository" systemService "be.ems/src/modules/system/service" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/disk" - "github.com/shirou/gopsutil/v3/load" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/disk" + "github.com/shirou/gopsutil/v4/load" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/net" ) // 实例化服务层 MonitorImpl 结构体 diff --git a/src/modules/monitor/service/monitor_test.go b/src/modules/monitor/service/monitor_test.go index 11a87a8f..00ae73e8 100644 --- a/src/modules/monitor/service/monitor_test.go +++ b/src/modules/monitor/service/monitor_test.go @@ -5,11 +5,11 @@ import ( "testing" "time" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/disk" - "github.com/shirou/gopsutil/v3/load" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/disk" + "github.com/shirou/gopsutil/v4/load" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/net" ) func init() { diff --git a/src/modules/monitor/service/system_info.impl.go b/src/modules/monitor/service/system_info.impl.go index 663499de..a071a792 100644 --- a/src/modules/monitor/service/system_info.impl.go +++ b/src/modules/monitor/service/system_info.impl.go @@ -1,6 +1,7 @@ package service import ( + "context" "fmt" "os" "runtime" @@ -10,11 +11,11 @@ import ( "be.ems/src/framework/config" "be.ems/src/framework/utils/parse" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/disk" - "github.com/shirou/gopsutil/v3/host" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/disk" + "github.com/shirou/gopsutil/v4/host" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/net" ) // 实例化服务层 SystemInfoImpl 结构体 @@ -150,9 +151,12 @@ func (s *SystemInfoImpl) NetworkInfo() map[string]string { // DiskInfo 磁盘信息 func (s *SystemInfoImpl) DiskInfo() []map[string]string { disks := make([]map[string]string, 0) + ctx := context.Background() + ctx, cancel := context.WithTimeout(ctx, 1*time.Second) + defer cancel() - partitions, err := disk.Partitions(false) - if err != nil { + partitions, err := disk.PartitionsWithContext(ctx, false) + if err != context.DeadlineExceeded { return disks } diff --git a/src/modules/ws/model/net_connect.go b/src/modules/ws/model/net_connect.go index 8116c285..945ede5d 100644 --- a/src/modules/ws/model/net_connect.go +++ b/src/modules/ws/model/net_connect.go @@ -1,6 +1,6 @@ package model -import "github.com/shirou/gopsutil/v3/net" +import "github.com/shirou/gopsutil/v4/net" // NetConnectData 网络连接进程数据 type NetConnectData struct { diff --git a/src/modules/ws/processor/net_connect.go b/src/modules/ws/processor/net_connect.go index 6530d0c1..187de88b 100644 --- a/src/modules/ws/processor/net_connect.go +++ b/src/modules/ws/processor/net_connect.go @@ -8,8 +8,8 @@ import ( "be.ems/src/framework/logger" "be.ems/src/framework/vo/result" "be.ems/src/modules/ws/model" - "github.com/shirou/gopsutil/v3/net" - "github.com/shirou/gopsutil/v3/process" + "github.com/shirou/gopsutil/v4/net" + "github.com/shirou/gopsutil/v4/process" ) // GetNetConnections 获取网络连接进程 diff --git a/src/modules/ws/processor/ps_process.go b/src/modules/ws/processor/ps_process.go index 45fe6ff3..660cc765 100644 --- a/src/modules/ws/processor/ps_process.go +++ b/src/modules/ws/processor/ps_process.go @@ -12,7 +12,7 @@ import ( "be.ems/src/framework/utils/parse" "be.ems/src/framework/vo/result" "be.ems/src/modules/ws/model" - "github.com/shirou/gopsutil/v3/process" + "github.com/shirou/gopsutil/v4/process" ) // GetProcessData 获取进程数据