mirror of
https://github.com/containers/podman.git
synced 2025-10-19 20:23:08 +08:00
fix(deps): update module github.com/shirou/gopsutil/v4 to v4.25.5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This commit is contained in:
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_arm64.go
generated
vendored
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_arm64.go
generated
vendored
@ -51,7 +51,7 @@ func getFrequency() (float64, error) {
|
||||
var pCoreHz uint32
|
||||
for {
|
||||
service := ioIteratorNext(iterator)
|
||||
if !(service > 0) {
|
||||
if service <= 0 {
|
||||
break
|
||||
}
|
||||
|
||||
|
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd.go
generated
vendored
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd.go
generated
vendored
@ -57,7 +57,7 @@ func TimesWithContext(_ context.Context, percpu bool) (ret []TimesStat, err erro
|
||||
|
||||
ncpu, err := unix.SysctlUint32("hw.ncpu")
|
||||
if err != nil {
|
||||
return //nolint:nakedret //FIXME
|
||||
return ret, err
|
||||
}
|
||||
|
||||
var i uint32
|
||||
|
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd.go
generated
vendored
2
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd.go
generated
vendored
@ -75,7 +75,7 @@ func TimesWithContext(_ context.Context, percpu bool) (ret []TimesStat, err erro
|
||||
|
||||
ncpu, err := unix.SysctlUint32("hw.ncpu")
|
||||
if err != nil {
|
||||
return //nolint:nakedret //FIXME
|
||||
return ret, err
|
||||
}
|
||||
|
||||
var i uint32
|
||||
|
5
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_solaris.go
generated
vendored
5
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_solaris.go
generated
vendored
@ -159,10 +159,7 @@ func parseISAInfo(cmdOutput string) ([]string, error) {
|
||||
return nil, errors.New("attempted to parse invalid isainfo output")
|
||||
}
|
||||
|
||||
flags := make([]string, len(words)-4)
|
||||
for i, val := range words[4:] { //nolint:gosimple //FIXME
|
||||
flags[i] = val
|
||||
}
|
||||
flags := words[4:]
|
||||
sort.Strings(flags)
|
||||
|
||||
return flags, nil
|
||||
|
88
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_windows.go
generated
vendored
88
vendor/github.com/shirou/gopsutil/v4/cpu/cpu_windows.go
generated
vendored
@ -5,6 +5,7 @@ package cpu
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"unsafe"
|
||||
@ -15,7 +16,10 @@ import (
|
||||
"github.com/shirou/gopsutil/v4/internal/common"
|
||||
)
|
||||
|
||||
var procGetNativeSystemInfo = common.Modkernel32.NewProc("GetNativeSystemInfo")
|
||||
var (
|
||||
procGetNativeSystemInfo = common.Modkernel32.NewProc("GetNativeSystemInfo")
|
||||
procGetLogicalProcessorInformationEx = common.Modkernel32.NewProc("GetLogicalProcessorInformationEx")
|
||||
)
|
||||
|
||||
type win32_Processor struct { //nolint:revive //FIXME
|
||||
Family uint16
|
||||
@ -67,12 +71,14 @@ func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) {
|
||||
var lpIdleTime common.FILETIME
|
||||
var lpKernelTime common.FILETIME
|
||||
var lpUserTime common.FILETIME
|
||||
r, _, _ := common.ProcGetSystemTimes.Call(
|
||||
// GetSystemTimes returns 0 for error, in which case we check err,
|
||||
// see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call
|
||||
r, _, err := common.ProcGetSystemTimes.Call(
|
||||
uintptr(unsafe.Pointer(&lpIdleTime)),
|
||||
uintptr(unsafe.Pointer(&lpKernelTime)),
|
||||
uintptr(unsafe.Pointer(&lpUserTime)))
|
||||
if r == 0 {
|
||||
return ret, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
LOT := float64(0.0000001)
|
||||
@ -200,13 +206,70 @@ type systemInfo struct {
|
||||
wProcessorRevision uint16
|
||||
}
|
||||
|
||||
func CountsWithContext(ctx context.Context, logical bool) (int, error) {
|
||||
type groupAffinity struct {
|
||||
mask uintptr // https://learn.microsoft.com/it-it/windows-hardware/drivers/kernel/interrupt-affinity-and-priority#about-kaffinity
|
||||
group uint16
|
||||
reserved [3]uint16
|
||||
}
|
||||
|
||||
// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-processor_relationship
|
||||
type processorRelationship struct {
|
||||
flags byte
|
||||
efficientClass byte
|
||||
reserved [20]byte
|
||||
groupCount uint16
|
||||
groupMask [1]groupAffinity
|
||||
}
|
||||
|
||||
// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-system_logical_processor_information_ex
|
||||
type systemLogicalProcessorInformationEx struct {
|
||||
Relationship uint32
|
||||
Size uint32
|
||||
Processor processorRelationship
|
||||
}
|
||||
|
||||
func getPhysicalCoreCount() (int, error) {
|
||||
var length uint32
|
||||
const relationAll = 0xffff
|
||||
const relationProcessorCore = 0x0
|
||||
|
||||
// First call to determine the required buffer size
|
||||
_, _, err := procGetLogicalProcessorInformationEx.Call(uintptr(relationAll), 0, uintptr(unsafe.Pointer(&length)))
|
||||
if err != nil && !errors.Is(err, windows.ERROR_INSUFFICIENT_BUFFER) {
|
||||
return 0, fmt.Errorf("failed to get buffer size: %w", err)
|
||||
}
|
||||
|
||||
// Allocate the buffer
|
||||
buffer := make([]byte, length)
|
||||
|
||||
// Second call to retrieve the processor information
|
||||
_, _, err = procGetLogicalProcessorInformationEx.Call(uintptr(relationAll), uintptr(unsafe.Pointer(&buffer[0])), uintptr(unsafe.Pointer(&length)))
|
||||
if err != nil && !errors.Is(err, windows.NTE_OP_OK) {
|
||||
return 0, fmt.Errorf("failed to get logical processor information: %w", err)
|
||||
}
|
||||
|
||||
// Iterate through the buffer to count physical cores
|
||||
offset := uintptr(0)
|
||||
ncpus := 0
|
||||
for offset < uintptr(length) {
|
||||
info := (*systemLogicalProcessorInformationEx)(unsafe.Pointer(uintptr(unsafe.Pointer(&buffer[0])) + offset))
|
||||
if info.Relationship == relationProcessorCore {
|
||||
ncpus++
|
||||
}
|
||||
offset += uintptr(info.Size)
|
||||
}
|
||||
|
||||
return ncpus, nil
|
||||
}
|
||||
|
||||
func CountsWithContext(_ context.Context, logical bool) (int, error) {
|
||||
if logical {
|
||||
// https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L97
|
||||
// Get logical processor count https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L97
|
||||
ret := windows.GetActiveProcessorCount(windows.ALL_PROCESSOR_GROUPS)
|
||||
if ret != 0 {
|
||||
return int(ret), nil
|
||||
}
|
||||
|
||||
var systemInfo systemInfo
|
||||
_, _, err := procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&systemInfo)))
|
||||
if systemInfo.dwNumberOfProcessors == 0 {
|
||||
@ -214,16 +277,7 @@ func CountsWithContext(ctx context.Context, logical bool) (int, error) {
|
||||
}
|
||||
return int(systemInfo.dwNumberOfProcessors), nil
|
||||
}
|
||||
// physical cores https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L499
|
||||
// for the time being, try with unreliable and slow WMI call…
|
||||
var dst []win32_Processor
|
||||
q := wmi.CreateQuery(&dst, "")
|
||||
if err := common.WMIQueryWithContext(ctx, q, &dst); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
var count uint32
|
||||
for _, d := range dst {
|
||||
count += d.NumberOfCores
|
||||
}
|
||||
return int(count), nil
|
||||
|
||||
// Get physical core count https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L499
|
||||
return getPhysicalCoreCount()
|
||||
}
|
||||
|
5
vendor/github.com/shirou/gopsutil/v4/internal/common/common_darwin.go
generated
vendored
5
vendor/github.com/shirou/gopsutil/v4/internal/common/common_darwin.go
generated
vendored
@ -393,10 +393,7 @@ func GoString(cStr *byte) string {
|
||||
return ""
|
||||
}
|
||||
var length int
|
||||
for {
|
||||
if *(*byte)(unsafe.Add(unsafe.Pointer(cStr), uintptr(length))) == '\x00' {
|
||||
break
|
||||
}
|
||||
for *(*byte)(unsafe.Add(unsafe.Pointer(cStr), uintptr(length))) != '\x00' {
|
||||
length++
|
||||
}
|
||||
return string(unsafe.Slice(cStr, length))
|
||||
|
15
vendor/github.com/shirou/gopsutil/v4/mem/ex_windows.go
generated
vendored
15
vendor/github.com/shirou/gopsutil/v4/mem/ex_windows.go
generated
vendored
@ -5,8 +5,6 @@ package mem
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/sys/windows"
|
||||
)
|
||||
|
||||
// ExVirtualMemory represents Windows specific information
|
||||
@ -28,16 +26,21 @@ func NewExWindows() *ExWindows {
|
||||
func (e *ExWindows) VirtualMemory() (*ExVirtualMemory, error) {
|
||||
var memInfo memoryStatusEx
|
||||
memInfo.cbSize = uint32(unsafe.Sizeof(memInfo))
|
||||
mem, _, _ := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo)))
|
||||
// If mem == 0 since this is an error according to GlobalMemoryStatusEx documentation
|
||||
// In that case, use err which is constructed from GetLastError(),
|
||||
// see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call
|
||||
mem, _, err := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo)))
|
||||
if mem == 0 {
|
||||
return nil, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var perfInfo performanceInformation
|
||||
perfInfo.cb = uint32(unsafe.Sizeof(perfInfo))
|
||||
perf, _, _ := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb))
|
||||
// Analogous to above: perf == 0 is an error according to the GetPerformanceInfo documentation,
|
||||
// use err in that case
|
||||
perf, _, err := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb))
|
||||
if perf == 0 {
|
||||
return nil, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ret := &ExVirtualMemory{
|
||||
|
18
vendor/github.com/shirou/gopsutil/v4/mem/mem_windows.go
generated
vendored
18
vendor/github.com/shirou/gopsutil/v4/mem/mem_windows.go
generated
vendored
@ -40,9 +40,11 @@ func VirtualMemory() (*VirtualMemoryStat, error) {
|
||||
func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) {
|
||||
var memInfo memoryStatusEx
|
||||
memInfo.cbSize = uint32(unsafe.Sizeof(memInfo))
|
||||
mem, _, _ := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo)))
|
||||
// GlobalMemoryStatusEx returns 0 for error, in which case we check err,
|
||||
// see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call
|
||||
mem, _, err := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo)))
|
||||
if mem == 0 {
|
||||
return nil, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ret := &VirtualMemoryStat{
|
||||
@ -93,9 +95,11 @@ func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) {
|
||||
// Get total memory from performance information
|
||||
var perfInfo performanceInformation
|
||||
perfInfo.cb = uint32(unsafe.Sizeof(perfInfo))
|
||||
mem, _, _ := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb))
|
||||
// GetPerformanceInfo returns 0 for error, in which case we check err,
|
||||
// see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call
|
||||
mem, _, err := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb))
|
||||
if mem == 0 {
|
||||
return nil, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
totalPhys := perfInfo.physicalTotal * perfInfo.pageSize
|
||||
totalSys := perfInfo.commitLimit * perfInfo.pageSize
|
||||
@ -161,9 +165,11 @@ func SwapDevicesWithContext(_ context.Context) ([]*SwapDevice, error) {
|
||||
// the following system call invokes the supplied callback function once for each page file before returning
|
||||
// see https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-enumpagefilesw
|
||||
var swapDevices []*SwapDevice
|
||||
result, _, _ := procEnumPageFilesW.Call(windows.NewCallback(pEnumPageFileCallbackW), uintptr(unsafe.Pointer(&swapDevices)))
|
||||
// EnumPageFilesW returns 0 for error, in which case we check err,
|
||||
// see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call
|
||||
result, _, err := procEnumPageFilesW.Call(windows.NewCallback(pEnumPageFileCallbackW), uintptr(unsafe.Pointer(&swapDevices)))
|
||||
if result == 0 {
|
||||
return nil, windows.GetLastError()
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return swapDevices, nil
|
||||
|
14
vendor/github.com/shirou/gopsutil/v4/net/net_darwin.go
generated
vendored
14
vendor/github.com/shirou/gopsutil/v4/net/net_darwin.go
generated
vendored
@ -16,7 +16,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
errNetstatHeader = errors.New("Can't parse header of netstat output")
|
||||
errNetstatHeader = errors.New("can't parse header of netstat output")
|
||||
netstatLinkRegexp = regexp.MustCompile(`^<Link#(\d+)>$`)
|
||||
)
|
||||
|
||||
@ -29,15 +29,14 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro
|
||||
)
|
||||
|
||||
if columns[0] == "Name" {
|
||||
err = errNetstatHeader
|
||||
return //nolint:nakedret //FIXME
|
||||
return nil, nil, errNetstatHeader
|
||||
}
|
||||
|
||||
// try to extract the numeric value from <Link#123>
|
||||
if subMatch := netstatLinkRegexp.FindStringSubmatch(columns[2]); len(subMatch) == 2 {
|
||||
numericValue, err = strconv.ParseUint(subMatch[1], 10, 64)
|
||||
if err != nil {
|
||||
return //nolint:nakedret //FIXME
|
||||
return nil, nil, err
|
||||
}
|
||||
linkIDUint := uint(numericValue)
|
||||
linkID = &linkIDUint
|
||||
@ -50,8 +49,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro
|
||||
base = 0
|
||||
}
|
||||
if numberColumns < 11 || numberColumns > 13 {
|
||||
err = fmt.Errorf("Line %q do have an invalid number of columns %d", line, numberColumns)
|
||||
return //nolint:nakedret //FIXME
|
||||
return nil, nil, fmt.Errorf("line %q do have an invalid number of columns %d", line, numberColumns)
|
||||
}
|
||||
|
||||
parsed := make([]uint64, 0, 7)
|
||||
@ -74,7 +72,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro
|
||||
}
|
||||
|
||||
if numericValue, err = strconv.ParseUint(target, 10, 64); err != nil {
|
||||
return //nolint:nakedret //FIXME
|
||||
return nil, nil, err
|
||||
}
|
||||
parsed = append(parsed, numericValue)
|
||||
}
|
||||
@ -91,7 +89,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro
|
||||
if len(parsed) == 7 {
|
||||
stat.Dropout = parsed[6]
|
||||
}
|
||||
return //nolint:nakedret //FIXME
|
||||
return stat, linkID, nil
|
||||
}
|
||||
|
||||
type netstatInterface struct {
|
||||
|
2
vendor/github.com/shirou/gopsutil/v4/net/net_openbsd.go
generated
vendored
2
vendor/github.com/shirou/gopsutil/v4/net/net_openbsd.go
generated
vendored
@ -296,7 +296,7 @@ func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat,
|
||||
}
|
||||
lines := strings.Split(string(out), "\n")
|
||||
for _, line := range lines {
|
||||
if !(strings.HasPrefix(line, "tcp") || strings.HasPrefix(line, "udp")) {
|
||||
if !strings.HasPrefix(line, "tcp") && !strings.HasPrefix(line, "udp") {
|
||||
continue
|
||||
}
|
||||
n, err := parseNetstatLine(line)
|
||||
|
2
vendor/github.com/shirou/gopsutil/v4/process/process_windows.go
generated
vendored
2
vendor/github.com/shirou/gopsutil/v4/process/process_windows.go
generated
vendored
@ -594,7 +594,7 @@ func (p *Process) NumThreadsWithContext(_ context.Context) (int32, error) {
|
||||
|
||||
// if no errors and not cached already, cache ppid
|
||||
p.parent = ppid
|
||||
if 0 == p.getPpid() {
|
||||
if p.getPpid() == 0 {
|
||||
p.setPpid(ppid)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user