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 ¶
- func CreateHandlers(rootPath string, provider StatsProvider, summaryProvider SummaryProvider) *restful.WebService
- type Cache
- type PodVolumeStats
- type ResourceAnalyzer
- type StatsProvider
- type StatsRequest
- type SummaryProvider
Functions ¶
func CreateHandlers ¶
func CreateHandlers(rootPath string, provider StatsProvider, summaryProvider SummaryProvider) *restful.WebService
Types ¶
type Cache ¶
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.