Documentation
      ¶
    
    
  
    
  
    Overview ¶
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 ¶
Constants ¶
const ( // Container name for the system container tracking Kubelet usage. SystemContainerKubelet = "kubelet" // Container name for the system container tracking the runtime (e.g. docker or rkt) usage. SystemContainerRuntime = "runtime" // Container name for the system container tracking non-kubernetes processes. SystemContainerMisc = "misc" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUStats ¶
type CPUStats struct {
	// Total CPU usage (sum of all cores) averaged over the sample window.
	// The "core" unit can be interpreted as CPU core-seconds per second.
	UsageCores *resource.Quantity `json:"usageCores,omitempty"`
	// Cumulative CPU usage (sum of all cores) since object creation.
	UsageCoreSeconds *resource.Quantity `json:"usageCoreSeconds,omitempty"`
}
    CPUStats contains data about CPU usage.
type ContainerStats ¶
type ContainerStats struct {
	// Reference to the measured container.
	Name string `json:"name"`
	// Stats pertaining to CPU resources.
	CPU *CPUStats `json:"cpu,omitempty"`
	// Stats pertaining to memory (RAM) resources.
	Memory *MemoryStats `json:"memory,omitempty"`
}
    ContainerStats holds container-level unprocessed sample stats.
type MemoryStats ¶
type MemoryStats struct {
	// Total memory in use. This includes all memory regardless of when it was accessed.
	UsageBytes *resource.Quantity `json:"usageBytes,omitempty"`
	// The amount of working set memory. This includes recently accessed memory,
	// dirty memory, and kernel memory. UsageBytes is <= TotalBytes.
	WorkingSetBytes *resource.Quantity `json:"workingSetBytes,omitempty"`
	// Cumulative number of minor page faults.
	PageFaults *int64 `json:"pageFaults,omitempty"`
	// Cumulative number of major page faults.
	MajorPageFaults *int64 `json:"majorPageFaults,omitempty"`
}
    MemoryStats contains data about memory usage.
type NetworkStats ¶
type NetworkStats struct {
	// Cumulative count of bytes received.
	RxBytes *resource.Quantity `json:"rxBytes,omitempty"`
	// Cumulative count of receive errors encountered.
	RxErrors *int64 `json:"rxErrors,omitempty"`
	// Cumulative count of bytes transmitted.
	TxBytes *resource.Quantity `json:"txBytes,omitempty"`
	// Cumulative count of transmit errors encountered.
	TxErrors *int64 `json:"txErrors,omitempty"`
}
    NetworkStats contains data about network resources.
type NodeStats ¶
type NodeStats struct {
	// Reference to the measured Node.
	NodeName string `json:"nodeName"`
	// Stats of system daemons tracked as raw containers.
	// The system containers are named according to the SystemContainer* constants.
	SystemContainers []ContainerStats `json:"systemContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name"`
	// Stats pertaining to CPU resources.
	CPU *CPUStats `json:"cpu,omitempty"`
	// Stats pertaining to memory (RAM) resources.
	Memory *MemoryStats `json:"memory,omitempty"`
	// Stats pertaining to network resources.
	Network *NetworkStats `json:"network,omitempty"`
}
    NodeStats holds node-level unprocessed sample stats.
type NonLocalObjectReference ¶
type NonLocalObjectReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}
    NonLocalObjectReference contains enough information to locate the referenced object.
type PodStats ¶
type PodStats struct {
	// Reference to the measured Pod.
	PodRef NonLocalObjectReference `json:"podRef"`
	// Stats of containers in the measured pod.
	Containers []ContainerStats `json:"containers" patchStrategy:"merge" patchMergeKey:"name"`
	// Stats pertaining to network resources.
	Network *NetworkStats `json:"network,omitempty"`
}
    PodStats holds pod-level unprocessed sample stats.
type Summary ¶
type Summary struct {
	// The time the most recent data included in this summary was collect at, rounded to the nearest
	// second.
	Time unversioned.Time `json:"time"`
	// Overall node stats.
	Node NodeStats `json:"node"`
	// Per-pod stats.
	Pods []PodStats `json:"pods"`
}
    Summary is a top-level container for holding NodeStats and PodStats.