kubernetesk8s.io/kubernetes/pkg/kubelet/winstats Index | Files

package winstats

import "k8s.io/kubernetes/pkg/kubelet/winstats"

Package winstats provides a client to get node and pod level stats on windows

Package winstats provides a client to get node and pod level stats on windows

Index

Functions

func ProcessorCount

func ProcessorCount() int

runtime.NumCPU() will only return the information for a single Processor Group. Since a single group can only hold 64 logical processors, this means when there are more they will be divided into multiple groups. For the above reason, procGetActiveProcessorCount is used to get the cpu count for all processor groups of the windows node. more notes for this issue: same issue in moby: https://github.com/moby/moby/issues/38935#issuecomment-744638345 solution in hcsshim: https://github.com/microsoft/hcsshim/blob/master/internal/processorinfo/processor_count.go

Types

type Client

type Client interface {
	WinContainerInfos() (map[string]cadvisorapiv2.ContainerInfo, error)
	WinMachineInfo() (*cadvisorapi.MachineInfo, error)
	WinVersionInfo() (*cadvisorapi.VersionInfo, error)
	GetDirFsInfo(path string) (cadvisorapiv2.FsInfo, error)
}

Client is an interface that is used to get stats information.

func NewPerfCounterClient

func NewPerfCounterClient() (Client, error)

NewPerfCounterClient creates a client using perf counters

type MemoryStatusEx

type MemoryStatusEx struct {
	Length               uint32
	MemoryLoad           uint32
	TotalPhys            uint64
	AvailPhys            uint64
	TotalPageFile        uint64
	AvailPageFile        uint64
	TotalVirtual         uint64
	AvailVirtual         uint64
	AvailExtendedVirtual uint64
}

MemoryStatusEx is the same as Windows structure MEMORYSTATUSEX https://msdn.microsoft.com/en-us/library/windows/desktop/aa366770(v=vs.85).aspx

type OSInfo

type OSInfo struct {
	BuildNumber, ProductName        string
	MajorVersion, MinorVersion, UBR uint64
}

OSInfo is a convenience class for retrieving Windows OS information

func GetOSInfo

func GetOSInfo() (*OSInfo, error)

GetOSInfo reads Windows version information from the registry

func (*OSInfo) GetBuild

func (o *OSInfo) GetBuild() string

GetBuild returns OS version upto build number

func (*OSInfo) GetPatchVersion

func (o *OSInfo) GetPatchVersion() string

GetPatchVersion returns full OS version with patch

type StatsClient

type StatsClient struct {
	// contains filtered or unexported fields
}

StatsClient is a client that implements the Client interface

func (*StatsClient) GetDirFsInfo

func (c *StatsClient) GetDirFsInfo(path string) (cadvisorapiv2.FsInfo, error)

GetDirFsInfo returns filesystem capacity and usage information.

func (*StatsClient) WinContainerInfos

func (c *StatsClient) WinContainerInfos() (map[string]cadvisorapiv2.ContainerInfo, error)

WinContainerInfos returns a map of container infos. The map contains node and pod level stats. Analogous to cadvisor GetContainerInfoV2 method.

func (*StatsClient) WinMachineInfo

func (c *StatsClient) WinMachineInfo() (*cadvisorapi.MachineInfo, error)

WinMachineInfo returns a cadvisorapi.MachineInfo with details about the node machine. Analogous to cadvisor MachineInfo method.

func (*StatsClient) WinVersionInfo

func (c *StatsClient) WinVersionInfo() (*cadvisorapi.VersionInfo, error)

WinVersionInfo returns a cadvisorapi.VersionInfo with version info of the kernel and docker runtime. Analogous to cadvisor VersionInfo method.

Source Files

doc.go network_stats.go perfcounter_nodestats.go perfcounters.go version.go winstats.go

Version
v1.28.9
Published
Apr 16, 2024
Platform
windows/amd64
Imports
19 packages
Last checked
1 minute ago

Tools for package owners.