stats

package
v1.28.0-alpha.3...-059ce4e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2023 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFakeMetricsDu

func NewFakeMetricsDu(path string, stats *volume.Metrics) volume.MetricsProvider

NewFakeMetricsDu inserts fake statistics when asked for metrics

Types

type ByCreationTime

type ByCreationTime []containerInfoWithCgroup

ByCreationTime implements sort.Interface for []containerInfoWithCgroup based on the cinfo.Spec.CreationTime field.

func (ByCreationTime) Len

func (a ByCreationTime) Len() int

func (ByCreationTime) Less

func (a ByCreationTime) Less(i, j int) bool

func (ByCreationTime) Swap

func (a ByCreationTime) Swap(i, j int)

type HostStatsProvider

type HostStatsProvider interface {
	// contains filtered or unexported methods
}

HostStatsProvider defines an interface for providing host stats associated with pod.

func NewFakeHostStatsProvider

func NewFakeHostStatsProvider() HostStatsProvider

NewFakeHostStatsProvider provides a way to test with fake host statistics

func NewFakeHostStatsProviderWithData

func NewFakeHostStatsProviderWithData(fakeStats map[string]*volume.Metrics, osInterface kubecontainer.OSInterface) HostStatsProvider

NewFakeHostStatsProviderWithData provides a way to test with fake host statistics

func NewHostStatsProvider

func NewHostStatsProvider(osInterface kubecontainer.OSInterface, podEtcHostsPathFunc PodEtcHostsPathFunc) HostStatsProvider

NewHostStatsProvider returns a new HostStatsProvider type struct.

type PodEtcHostsPathFunc

type PodEtcHostsPathFunc func(podUID types.UID) string

PodEtcHostsPathFunc is a function to fetch a etc hosts path by pod uid and whether etc host path is supported by the runtime

type PodManager

type PodManager interface {
	TranslatePodUID(uid types.UID) kubetypes.ResolvedPodUID
}

PodManager is the subset of methods the manager needs to observe the actual state of the kubelet. See pkg/github.com/sanposhiho/kubernetes/pkg/kubelet/pod.Manager for method godoc.

type Provider

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

Provider provides the stats of the node and the pod-managed containers.

func NewCRIStatsProvider

func NewCRIStatsProvider(
	cadvisor cadvisor.Interface,
	resourceAnalyzer stats.ResourceAnalyzer,
	podManager PodManager,
	runtimeCache kubecontainer.RuntimeCache,
	runtimeService internalapi.RuntimeService,
	imageService internalapi.ImageManagerService,
	hostStatsProvider HostStatsProvider,
	podAndContainerStatsFromCRI bool,
) *Provider

NewCRIStatsProvider returns a Provider that provides the node stats from cAdvisor and the container stats from CRI.

func NewCadvisorStatsProvider

func NewCadvisorStatsProvider(
	cadvisor cadvisor.Interface,
	resourceAnalyzer stats.ResourceAnalyzer,
	podManager PodManager,
	runtimeCache kubecontainer.RuntimeCache,
	imageService kubecontainer.ImageService,
	statusProvider status.PodStatusProvider,
	hostStatsProvider HostStatsProvider,
) *Provider

NewCadvisorStatsProvider returns a containerStatsProvider that provides both the node and the container stats from cAdvisor.

func (*Provider) GetCgroupCPUAndMemoryStats

func (p *Provider) GetCgroupCPUAndMemoryStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, error)

GetCgroupCPUAndMemoryStats returns the CPU and memory stats of the cgroup with the cgroupName. Note that this function doesn't generate filesystem stats.

func (*Provider) GetCgroupStats

func (p *Provider) GetCgroupStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, *statsapi.NetworkStats, error)

GetCgroupStats returns the stats of the cgroup with the cgroupName. Note that this function doesn't generate filesystem stats.

func (*Provider) GetContainerInfo

func (p *Provider) GetContainerInfo(ctx context.Context, podFullName string, podUID types.UID, containerName string, req *cadvisorapiv1.ContainerInfoRequest) (*cadvisorapiv1.ContainerInfo, error)

GetContainerInfo returns stats (from cAdvisor) for a container.

func (*Provider) GetRawContainerInfo

func (p *Provider) GetRawContainerInfo(containerName string, req *cadvisorapiv1.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapiv1.ContainerInfo, error)

GetRawContainerInfo returns the stats (from cadvisor) for a non-Kubernetes container.

func (*Provider) HasDedicatedImageFs

func (p *Provider) HasDedicatedImageFs(ctx context.Context) (bool, error)

HasDedicatedImageFs returns true if a dedicated image filesystem exists for storing images.

func (*Provider) RlimitStats

func (p *Provider) RlimitStats() (*statsapi.RlimitStats, error)

RlimitStats returns base information about process count

func (*Provider) RootFsStats

func (p *Provider) RootFsStats() (*statsapi.FsStats, error)

RootFsStats returns the stats of the node root filesystem.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL