kubernetesk8s.io/kubernetes/pkg/kubelet/server/stats Index | Files

package stats

import "k8s.io/kubernetes/pkg/kubelet/server/stats"

Package stats handles exporting Kubelet and container stats. NOTE: We intend to move this functionality into a standalone pod, so this package should be very loosely coupled to the rest of the Kubelet.

Index

Functions

func CreateHandlers

func CreateHandlers(rootPath string, provider StatsProvider, summaryProvider SummaryProvider) *restful.WebService

Types

type Cache

type Cache map[types.UID]*volumeStatCalculator

Map to PodVolumeStats pointers since the addresses for map values are not constant and can cause pain if we need ever to get a pointer to one of the values (e.g. you can't)

type PodVolumeStats

type PodVolumeStats struct {
	Volumes []stats.VolumeStats
}

PodVolumeStats encapsulates all VolumeStats for a pod

type ResourceAnalyzer

type ResourceAnalyzer interface {
	Start()

	SummaryProvider
	// contains filtered or unexported methods
}

ResourceAnalyzer provides statistics on node resource consumption

func NewResourceAnalyzer

func NewResourceAnalyzer(statsProvider StatsProvider, calVolumeFrequency time.Duration, runtime container.Runtime) ResourceAnalyzer

NewResourceAnalyzer returns a new ResourceAnalyzer

type StatsProvider

type StatsProvider interface {
	GetContainerInfo(podFullName string, uid types.UID, containerName string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)
	GetContainerInfoV2(name string, options cadvisorapiv2.RequestOptions) (map[string]cadvisorapiv2.ContainerInfo, error)
	GetRawContainerInfo(containerName string, req *cadvisorapi.ContainerInfoRequest, subcontainers bool) (map[string]*cadvisorapi.ContainerInfo, error)
	GetPodByName(namespace, name string) (*v1.Pod, bool)
	GetNode() (*v1.Node, error)
	GetNodeConfig() cm.NodeConfig
	ImagesFsInfo() (cadvisorapiv2.FsInfo, error)
	RootFsInfo() (cadvisorapiv2.FsInfo, error)
	ListVolumesForPod(podUID types.UID) (map[string]volume.Volume, bool)
	GetPods() []*v1.Pod
}

Host methods required by stats handlers.

type StatsRequest

type StatsRequest struct {
	// The name of the container for which to request stats.
	// Default: /
	// +optional
	ContainerName string `json:"containerName,omitempty"`

	// Max number of stats to return.
	// If start and end time are specified this limit is ignored.
	// Default: 60
	// +optional
	NumStats int `json:"num_stats,omitempty"`

	// Start time for which to query information.
	// If omitted, the beginning of time is assumed.
	// +optional
	Start time.Time `json:"start,omitempty"`

	// End time for which to query information.
	// If omitted, current time is assumed.
	// +optional
	End time.Time `json:"end,omitempty"`

	// Whether to also include information from subcontainers.
	// Default: false.
	// +optional
	Subcontainers bool `json:"subcontainers,omitempty"`
}

type SummaryProvider

type SummaryProvider interface {
	// Get provides a new Summary using the latest results from cadvisor
	Get() (*stats.Summary, error)
}

func NewSummaryProvider

func NewSummaryProvider(statsProvider StatsProvider, fsResourceAnalyzer fsResourceAnalyzerInterface, cruntime container.Runtime) SummaryProvider

NewSummaryProvider returns a new SummaryProvider

Source Files

doc.go fs_resource_analyzer.go handler.go resource_analyzer.go summary.go volume_stat_calculator.go

Version
v1.7.4
Published
Aug 17, 2017
Platform
js/wasm
Imports
25 packages
Last checked
1 minute ago

Tools for package owners.