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 ¶
- func ProcessorCount() int
- type Client
- type MemoryStatusEx
- type OSInfo
- func GetOSInfo() (*OSInfo, error)
- func (o *OSInfo) GetBuild() string
- func (o *OSInfo) GetPatchVersion() string
- type StatsClient
- func (c *StatsClient) GetDirFsInfo(path string) (cadvisorapiv2.FsInfo, error)
- func (c *StatsClient) WinContainerInfos() (map[string]cadvisorapiv2.ContainerInfo, error)
- func (c *StatsClient) WinMachineInfo() (*cadvisorapi.MachineInfo, error)
- func (c *StatsClient) WinVersionInfo() (*cadvisorapi.VersionInfo, error)
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 ¶
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 ¶
OSInfo is a convenience class for retrieving Windows OS information
func GetOSInfo ¶
GetOSInfo reads Windows version information from the registry
func (*OSInfo) GetBuild ¶
GetBuild returns OS version upto build number
func (*OSInfo) GetPatchVersion ¶
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.