mirror of
https://github.com/datarhei/core.git
synced 2025-10-06 16:37:04 +08:00
Update dependencies
This commit is contained in:
1
vendor/github.com/power-devops/perfstat/cpustat.go
generated
vendored
1
vendor/github.com/power-devops/perfstat/cpustat.go
generated
vendored
@@ -136,4 +136,3 @@ func CpuUtilTotalStat() (*CPUUtil, error) {
|
||||
u := perfstatcpuutil2cpuutil(cpuutil)
|
||||
return &u, nil
|
||||
}
|
||||
|
||||
|
12
vendor/github.com/power-devops/perfstat/doc.go
generated
vendored
12
vendor/github.com/power-devops/perfstat/doc.go
generated
vendored
@@ -37,24 +37,24 @@ func DisableLVMStat() {}
|
||||
// CpuStat() returns array of CPU structures with information about
|
||||
// logical CPUs on the system.
|
||||
// IBM documentation:
|
||||
// * https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_int_cpu.html
|
||||
// * https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cpu.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_int_cpu.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cpu.html
|
||||
func CpuStat() ([]CPU, error) {
|
||||
return nil, fmt.Errorf("not implemented")
|
||||
}
|
||||
|
||||
// CpuTotalStat() returns general information about CPUs on the system.
|
||||
// IBM documentation:
|
||||
// * https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_glob_cpu.html
|
||||
// * https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cputot.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_glob_cpu.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cputot.html
|
||||
func CpuTotalStat() (*CPUTotal, error) {
|
||||
return nil, fmt.Errorf("not implemented")
|
||||
}
|
||||
|
||||
// CpuUtilStat() calculates CPU utilization.
|
||||
// IBM documentation:
|
||||
// * https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_cpu_util.html
|
||||
// * https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cpu_util.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/ssw_aix_72/performancetools/idprftools_perfstat_cpu_util.html
|
||||
// - https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/p_bostechref/perfstat_cpu_util.html
|
||||
func CpuUtilStat(intvl time.Duration) (*CPUUtil, error) {
|
||||
return nil, fmt.Errorf("not implemented")
|
||||
}
|
||||
|
54
vendor/github.com/power-devops/perfstat/helpers.go
generated
vendored
54
vendor/github.com/power-devops/perfstat/helpers.go
generated
vendored
@@ -8,6 +8,7 @@ package perfstat
|
||||
|
||||
#include <libperfstat.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/dr.h>
|
||||
|
||||
#include "c_helpers.h"
|
||||
*/
|
||||
@@ -763,3 +764,56 @@ func fsinfo2filesystem(n *C.struct_fsinfo) FileSystem {
|
||||
|
||||
return i
|
||||
}
|
||||
|
||||
func lparinfo2partinfo(n C.lpar_info_format2_t) PartitionInfo {
|
||||
var i PartitionInfo
|
||||
|
||||
i.Version = int(n.version)
|
||||
i.OnlineMemory = uint64(n.online_memory)
|
||||
i.TotalDispatchTime = uint64(n.tot_dispatch_time)
|
||||
i.PoolIdleTime = uint64(n.pool_idle_time)
|
||||
i.DispatchLatency = uint64(n.dispatch_latency)
|
||||
i.LparFlags = uint(n.lpar_flags)
|
||||
i.PCpusInSys = uint(n.pcpus_in_sys)
|
||||
i.OnlineVCpus = uint(n.online_vcpus)
|
||||
i.OnlineLCpus = uint(n.online_lcpus)
|
||||
i.PCpusInPool = uint(n.pcpus_in_pool)
|
||||
i.UnallocCapacity = uint(n.unalloc_capacity)
|
||||
i.EntitledCapacity = uint(n.entitled_capacity)
|
||||
i.VariableWeight = uint(n.variable_weight)
|
||||
i.UnallocWeight = uint(n.unalloc_weight)
|
||||
i.MinReqVCpuCapacity = uint(n.min_req_vcpu_capacity)
|
||||
i.GroupId = uint8(n.group_id)
|
||||
i.PoolId = uint8(n.pool_id)
|
||||
i.ShCpusInSys = uint(n.shcpus_in_sys)
|
||||
i.MaxPoolCapacity = uint(n.max_pool_capacity)
|
||||
i.EntitledPoolCapacity = uint(n.entitled_pool_capacity)
|
||||
i.PoolMaxTime = uint64(n.pool_max_time)
|
||||
i.PoolBusyTime = uint64(n.pool_busy_time)
|
||||
i.PoolScaledBusyTime = uint64(n.pool_scaled_busy_time)
|
||||
i.ShCpuTotalTime = uint64(n.shcpu_tot_time)
|
||||
i.ShCpuBusyTime = uint64(n.shcpu_busy_time)
|
||||
i.ShCpuScaledBusyTime = uint64(n.shcpu_scaled_busy_time)
|
||||
i.EntMemCapacity = uint64(n.ent_mem_capacity)
|
||||
i.PhysMem = uint64(n.phys_mem)
|
||||
i.VrmPoolPhysMem = uint64(n.vrm_pool_physmem)
|
||||
i.HypPageSize = uint(n.hyp_pagesize)
|
||||
i.VrmPoolId = int(n.vrm_pool_id)
|
||||
i.VrmGroupId = int(n.vrm_group_id)
|
||||
i.VarMemWeight = int(n.var_mem_weight)
|
||||
i.UnallocVarMemWeight = int(n.unalloc_var_mem_weight)
|
||||
i.UnallocEntMemCapacity = uint64(n.unalloc_ent_mem_capacity)
|
||||
i.TrueOnlineMemory = uint64(n.true_online_memory)
|
||||
i.AmeOnlineMemory = uint64(n.ame_online_memory)
|
||||
i.AmeType = uint8(n.ame_type)
|
||||
i.SpecExecMode = uint8(n.spec_exec_mode)
|
||||
i.AmeFactor = uint(n.ame_factor)
|
||||
i.EmPartMajorCode = uint(n.em_part_major_code)
|
||||
i.EmPartMinorCode = uint(n.em_part_minor_code)
|
||||
i.BytesCoalesced = uint64(n.bytes_coalesced)
|
||||
i.BytesCoalescedMemPool = uint64(n.bytes_coalesced_mempool)
|
||||
i.PurrCoalescing = uint64(n.purr_coalescing)
|
||||
i.SpurrCoalescing = uint64(n.spurr_coalescing)
|
||||
|
||||
return i
|
||||
}
|
||||
|
13
vendor/github.com/power-devops/perfstat/lparstat.go
generated
vendored
13
vendor/github.com/power-devops/perfstat/lparstat.go
generated
vendored
@@ -7,11 +7,13 @@ package perfstat
|
||||
#cgo LDFLAGS: -lperfstat
|
||||
|
||||
#include <libperfstat.h>
|
||||
#include <sys/dr.h>
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func PartitionStat() (*PartitionConfig, error) {
|
||||
@@ -25,3 +27,14 @@ func PartitionStat() (*PartitionConfig, error) {
|
||||
return &p, nil
|
||||
|
||||
}
|
||||
|
||||
func LparInfo() (*PartitionInfo, error) {
|
||||
var pinfo C.lpar_info_format2_t
|
||||
|
||||
rc := C.lpar_get_info(C.LPAR_INFO_FORMAT2, unsafe.Pointer(&pinfo), C.sizeof_lpar_info_format2_t)
|
||||
if rc != 0 {
|
||||
return nil, fmt.Errorf("lpar_get_info() error")
|
||||
}
|
||||
p := lparinfo2partinfo(pinfo)
|
||||
return &p, nil
|
||||
}
|
||||
|
58
vendor/github.com/power-devops/perfstat/systemcfg.go
generated
vendored
58
vendor/github.com/power-devops/perfstat/systemcfg.go
generated
vendored
@@ -71,6 +71,7 @@ const (
|
||||
SC_TM_VER = 59 /* Transaction Memory version, 0 - not capable */
|
||||
SC_NX_CAP = 60 /* NX GZIP capable */
|
||||
SC_PKS_STATE = 61 /* Platform KeyStore */
|
||||
SC_MMA_VER = 62
|
||||
)
|
||||
|
||||
/* kernel attributes */
|
||||
@@ -120,6 +121,7 @@ const (
|
||||
IMPL_POWER7 = 0x8000 /* 7 class CPU */
|
||||
IMPL_POWER8 = 0x10000 /* 8 class CPU */
|
||||
IMPL_POWER9 = 0x20000 /* 9 class CPU */
|
||||
IMPL_POWER10 = 0x20000 /* 10 class CPU */
|
||||
)
|
||||
|
||||
// Values for implementation field for IA64 Architectures
|
||||
@@ -152,11 +154,13 @@ const (
|
||||
PV_7 = 0x200000 /* Power PC 7 */
|
||||
PV_8 = 0x300000 /* Power PC 8 */
|
||||
PV_9 = 0x400000 /* Power PC 9 */
|
||||
PV_10 = 0x500000 /* Power PC 10 */
|
||||
PV_5_Compat = 0x0F8000 /* Power PC 5 */
|
||||
PV_6_Compat = 0x108000 /* Power PC 6 */
|
||||
PV_7_Compat = 0x208000 /* Power PC 7 */
|
||||
PV_8_Compat = 0x308000 /* Power PC 8 */
|
||||
PV_9_Compat = 0x408000 /* Power PC 9 */
|
||||
PV_10_Compat = 0x508000 /* Power PC 10 */
|
||||
PV_RESERVED_2 = 0x0A0000 /* source compatability */
|
||||
PV_RESERVED_3 = 0x0B0000 /* source compatability */
|
||||
PV_RS2 = 0x040000 /* Power RS2 */
|
||||
@@ -182,19 +186,21 @@ const (
|
||||
|
||||
// Macros for identifying physical processor
|
||||
const (
|
||||
PPI4_1 = 0x35
|
||||
PPI4_2 = 0x38
|
||||
PPI4_3 = 0x39
|
||||
PPI4_4 = 0x3C
|
||||
PPI4_5 = 0x44
|
||||
PPI5_1 = 0x3A
|
||||
PPI5_2 = 0x3B
|
||||
PPI6_1 = 0x3E
|
||||
PPI7_1 = 0x3F
|
||||
PPI7_2 = 0x4A
|
||||
PPI8_1 = 0x4B
|
||||
PPI8_2 = 0x4D
|
||||
PPI9 = 0x4E
|
||||
PPI4_1 = 0x35
|
||||
PPI4_2 = 0x38
|
||||
PPI4_3 = 0x39
|
||||
PPI4_4 = 0x3C
|
||||
PPI4_5 = 0x44
|
||||
PPI5_1 = 0x3A
|
||||
PPI5_2 = 0x3B
|
||||
PPI6_1 = 0x3E
|
||||
PPI7_1 = 0x3F
|
||||
PPI7_2 = 0x4A
|
||||
PPI8_1 = 0x4B
|
||||
PPI8_2 = 0x4D
|
||||
PPI9 = 0x4E
|
||||
PPI9_1 = 0x4E
|
||||
PPI10_1 = 0x80
|
||||
)
|
||||
|
||||
// Macros for kernel attributes
|
||||
@@ -292,14 +298,32 @@ func GetCPUImplementation() string {
|
||||
return "POWER8"
|
||||
case impl&IMPL_POWER9 != 0:
|
||||
return "POWER9"
|
||||
case impl&IMPL_POWER10 != 0:
|
||||
return "Power10"
|
||||
default:
|
||||
return "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
func POWER10OrNewer() bool {
|
||||
impl := unix.Getsystemcfg(SC_IMPL)
|
||||
if impl&IMPL_POWER10 != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func POWER10() bool {
|
||||
impl := unix.Getsystemcfg(SC_IMPL)
|
||||
if impl&IMPL_POWER10 != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func POWER9OrNewer() bool {
|
||||
impl := unix.Getsystemcfg(SC_IMPL)
|
||||
if impl&IMPL_POWER9 != 0 {
|
||||
if impl&IMPL_POWER10 != 0 || impl&IMPL_POWER9 != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -315,7 +339,7 @@ func POWER9() bool {
|
||||
|
||||
func POWER8OrNewer() bool {
|
||||
impl := unix.Getsystemcfg(SC_IMPL)
|
||||
if impl&IMPL_POWER9 != 0 || impl&IMPL_POWER8 != 0 {
|
||||
if impl&IMPL_POWER10 != 0 || impl&IMPL_POWER9 != 0 || impl&IMPL_POWER8 != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -331,7 +355,7 @@ func POWER8() bool {
|
||||
|
||||
func POWER7OrNewer() bool {
|
||||
impl := unix.Getsystemcfg(SC_IMPL)
|
||||
if impl&IMPL_POWER9 != 0 || impl&IMPL_POWER8 != 0 || impl&IMPL_POWER7 != 0 {
|
||||
if impl&IMPL_POWER10 != 0 || impl&IMPL_POWER9 != 0 || impl&IMPL_POWER8 != 0 || impl&IMPL_POWER7 != 0 {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
@@ -420,6 +444,8 @@ func PksEnabled() bool {
|
||||
func CPUMode() string {
|
||||
impl := unix.Getsystemcfg(SC_VERS)
|
||||
switch impl {
|
||||
case PV_10, PV_10_Compat:
|
||||
return "Power10"
|
||||
case PV_9, PV_9_Compat:
|
||||
return "POWER9"
|
||||
case PV_8, PV_8_Compat:
|
||||
|
4
vendor/github.com/power-devops/perfstat/types_disk.go
generated
vendored
4
vendor/github.com/power-devops/perfstat/types_disk.go
generated
vendored
@@ -29,8 +29,8 @@ type DiskTotal struct {
|
||||
// Disk Adapter Types
|
||||
const (
|
||||
DA_SCSI = 0 /* 0 ==> SCSI, SAS, other legacy adapter types */
|
||||
DA_VSCSI /* 1 ==> Virtual SCSI/SAS Adapter */
|
||||
DA_FCA /* 2 ==> Fiber Channel Adapter */
|
||||
DA_VSCSI = 1 /* 1 ==> Virtual SCSI/SAS Adapter */
|
||||
DA_FCA = 2 /* 2 ==> Fiber Channel Adapter */
|
||||
)
|
||||
|
||||
type DiskAdapter struct {
|
||||
|
61
vendor/github.com/power-devops/perfstat/types_lpar.go
generated
vendored
61
vendor/github.com/power-devops/perfstat/types_lpar.go
generated
vendored
@@ -66,3 +66,64 @@ type PartitionConfig struct {
|
||||
TargetMemExpSize int64 /* Expanded Memory Size in MB */
|
||||
SubProcessorMode int32 /* Split core mode, its value can be 0,1,2 or 4. 0 for unsupported, 1 for capable but not enabled, 2 or 4 for enabled*/
|
||||
}
|
||||
|
||||
const (
|
||||
AME_TYPE_V1 = 0x1
|
||||
AME_TYPE_V2 = 0x2
|
||||
LPAR_INFO_CAPPED = 0x01 /* Parition Capped */
|
||||
LPAR_INFO_AUTH_PIC = 0x02 /* Authority granted for poolidle*/
|
||||
LPAR_INFO_SMT_ENABLED = 0x04 /* SMT Enabled */
|
||||
LPAR_INFO_WPAR_ACTIVE = 0x08 /* Process Running Within a WPAR */
|
||||
LPAR_INFO_EXTENDED = 0x10 /* Extended shared processor pool information */
|
||||
LPAR_INFO_AME_ENABLED = 0x20 /* Active Mem. Expansion (AME) enabled*/
|
||||
LPAR_INFO_SEM_ENABLED = 0x40 /* Speculative Execution Mode enabled */
|
||||
)
|
||||
|
||||
type PartitionInfo struct {
|
||||
Version int /* version for this structure */
|
||||
OnlineMemory uint64 /* MB of currently online memory */
|
||||
TotalDispatchTime uint64 /* Total lpar dispatch time in nsecs */
|
||||
PoolIdleTime uint64 /* Idle time of shared CPU pool nsecs*/
|
||||
DispatchLatency uint64 /* Max latency inbetween dispatches of this LPAR on physCPUS in nsecs */
|
||||
LparFlags uint /* LPAR flags */
|
||||
PCpusInSys uint /* # of active licensed physical CPUs in system */
|
||||
OnlineVCpus uint /* # of current online virtual CPUs */
|
||||
OnlineLCpus uint /* # of current online logical CPUs */
|
||||
PCpusInPool uint /* # physical CPUs in shared pool */
|
||||
UnallocCapacity uint /* Unallocated Capacity available in shared pool */
|
||||
EntitledCapacity uint /* Entitled Processor Capacity for this partition */
|
||||
VariableWeight uint /* Variable Processor Capacity Weight */
|
||||
UnallocWeight uint /* Unallocated Variable Weight available for this partition */
|
||||
MinReqVCpuCapacity uint /* OS minimum required virtual processor capacity. */
|
||||
GroupId uint8 /* ID of a LPAR group/aggregation */
|
||||
PoolId uint8 /* ID of a shared pool */
|
||||
ShCpusInSys uint /* # of physical processors allocated for shared processor use */
|
||||
MaxPoolCapacity uint /* Maximum processor capacity of partition's pool */
|
||||
EntitledPoolCapacity uint /* Entitled processor capacity of partition's pool */
|
||||
PoolMaxTime uint64 /* Summation of maximum time that could be consumed by the pool, in nanoseconds */
|
||||
PoolBusyTime uint64 /* Summation of busy time accumulated across all partitions in the pool, in nanoseconds */
|
||||
PoolScaledBusyTime uint64 /* Scaled summation of busy time accumulated across all partitions in the pool, in nanoseconds */
|
||||
ShCpuTotalTime uint64 /* Summation of total time across all physical processors allocated for shared processor use, in nanoseconds */
|
||||
ShCpuBusyTime uint64 /* Summation of busy time accumulated across all shared processor partitions, in nanoseconds */
|
||||
ShCpuScaledBusyTime uint64 /* Scaled summation of busy time accumulated across all shared processor partitions, in nanoseconds */
|
||||
EntMemCapacity uint64 /* Partition's current entitlement memory capacity setting */
|
||||
PhysMem uint64 /* Amount of physical memory, in bytes, currently backing the partition's logical memory */
|
||||
VrmPoolPhysMem uint64 /* Total amount of physical memory in the VRM pool */
|
||||
HypPageSize uint /* Page size hypervisor is using to virtualize partition's memory */
|
||||
VrmPoolId int /* ID of VRM pool */
|
||||
VrmGroupId int /* eWLM VRM group to which partition belongs */
|
||||
VarMemWeight int /* Partition's current variable memory capacity weighting setting */
|
||||
UnallocVarMemWeight int /* Amount of unallocated variable memory capacity weight available to LPAR's group */
|
||||
UnallocEntMemCapacity uint64 /* Amount of unallocated I/O memory entitlement available to LPAR's group */
|
||||
TrueOnlineMemory uint64 /* true MB of currently online memory */
|
||||
AmeOnlineMemory uint64 /* AME MB of currently online memory */
|
||||
AmeType uint8
|
||||
SpecExecMode uint8 /* Speculative Execution Mode */
|
||||
AmeFactor uint /* memory expansion factor for LPAR */
|
||||
EmPartMajorCode uint /* Major and minor codes for our */
|
||||
EmPartMinorCode uint /* current energy management mode */
|
||||
BytesCoalesced uint64 /* The number of bytes of the calling partition.s logical real memory coalesced because they contained duplicated data */
|
||||
BytesCoalescedMemPool uint64 /* If the calling partition is authorized to see pool wide statistics then the number of bytes of logical real memory coalesced because they contained duplicated data in the calling partition.s memory pool else set to zero.*/
|
||||
PurrCoalescing uint64 /* If the calling partition is authorized to see pool wide statistics then PURR cycles consumed to coalesce data else set to zero.*/
|
||||
SpurrCoalescing uint64 /* If the calling partition is authorized to see pool wide statistics then SPURR cycles consumed to coalesce data else set to zero.*/
|
||||
}
|
||||
|
Reference in New Issue
Block a user