Documentation
¶
Index ¶
- func NewFakeMetricsDu(path string, stats *volume.Metrics) volume.MetricsProvider
- type ByCreationTime
- type HostStatsProvider
- func NewFakeHostStatsProvider() HostStatsProvider
- func NewFakeHostStatsProviderWithData(fakeStats map[string]*volume.Metrics, osInterface kubecontainer.OSInterface) HostStatsProvider
- func NewHostStatsProvider(osInterface kubecontainer.OSInterface, podEtcHostsPathFunc PodEtcHostsPathFunc) HostStatsProvider
- type PodEtcHostsPathFunc
- type PodManager
- type Provider
- func (p *Provider) GetCgroupCPUAndMemoryStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, error)
- func (p *Provider) GetCgroupStats(cgroupName string, updateStats bool) (*statsapi.ContainerStats, *statsapi.NetworkStats, error)
- func (p *Provider) GetContainerInfo(ctx context.Context, podFullName string, podUID types.UID, ...) (*cadvisorapiv1.ContainerInfo, error)
- func (p *Provider) GetRawContainerInfo(containerName string, req *cadvisorapiv1.ContainerInfoRequest, ...) (map[string]*cadvisorapiv1.ContainerInfo, error)
- func (p *Provider) HasDedicatedImageFs(ctx context.Context) (bool, error)
- func (p *Provider) RlimitStats() (*statsapi.RlimitStats, error)
- func (p *Provider) RootFsStats() (*statsapi.FsStats, error)
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 ¶
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 ¶
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