const unsupportedEvictionSignal …
const Reason …
const nodeLowMessageFmt …
const nodeConditionMessageFmt …
const containerMessageFmt …
const containerEphemeralStorageMessageFmt …
const podEphemeralStorageMessageFmt …
const emptyDirMessageFmt …
const resourceInodes …
const resourcePids …
const OffendingContainersKey …
const OffendingContainersUsageKey …
const StarvedResourceKey …
const thresholdMetMessageFmt …
var signalToNodeCondition …
var signalToResource …
func init() { … }
func validSignal(signal evictionapi.Signal) bool { … }
func getReclaimableThreshold(thresholds []evictionapi.Threshold) (evictionapi.Threshold, v1.ResourceName, bool) { … }
func ParseThresholdConfig(allocatableConfig []string, evictionHard, evictionSoft, evictionSoftGracePeriod, evictionMinimumReclaim map[string]string) ([]evictionapi.Threshold, error) { … }
func addAllocatableThresholds(thresholds []evictionapi.Threshold) []evictionapi.Threshold { … }
func UpdateContainerFsThresholds(thresholds []evictionapi.Threshold, imageFs, separateContainerImageFs bool) ([]evictionapi.Threshold, error) { … }
func parseThresholdStatements(statements map[string]string) ([]evictionapi.Threshold, error) { … }
func parseThresholdStatement(signal evictionapi.Signal, val string) (*evictionapi.Threshold, error) { … }
func parsePercentage(input string) (float32, error) { … }
func parseGracePeriods(statements map[string]string) (map[evictionapi.Signal]time.Duration, error) { … }
func parseMinimumReclaims(statements map[string]string) (map[evictionapi.Signal]evictionapi.ThresholdValue, error) { … }
func diskUsage(fsStats *statsapi.FsStats) *resource.Quantity { … }
func inodeUsage(fsStats *statsapi.FsStats) *resource.Quantity { … }
func memoryUsage(memStats *statsapi.MemoryStats) *resource.Quantity { … }
func processUsage(processStats *statsapi.ProcessStats) uint64 { … }
func localVolumeNames(pod *v1.Pod) []string { … }
func containerUsage(podStats statsapi.PodStats, statsToMeasure []fsStatsType) v1.ResourceList { … }
func podLocalVolumeUsage(volumeNames []string, podStats statsapi.PodStats) v1.ResourceList { … }
func podDiskUsage(podStats statsapi.PodStats, pod *v1.Pod, statsToMeasure []fsStatsType) (v1.ResourceList, error) { … }
func formatThreshold(threshold evictionapi.Threshold) string { … }
func cachedStatsFunc(podStats []statsapi.PodStats) statsFunc { … }
type cmpFunc …
type multiSorter …
func (ms *multiSorter) Sort(pods []*v1.Pod) { … }
func orderedBy(cmp ...cmpFunc) *multiSorter { … }
func (ms *multiSorter) Len() int { … }
func (ms *multiSorter) Swap(i, j int) { … }
func (ms *multiSorter) Less(i, j int) bool { … }
func priority(p1, p2 *v1.Pod) int { … }
func exceedMemoryRequests(stats statsFunc) cmpFunc { … }
func memory(stats statsFunc) cmpFunc { … }
func process(stats statsFunc) cmpFunc { … }
func exceedDiskRequests(stats statsFunc, fsStatsToMeasure []fsStatsType, diskResource v1.ResourceName) cmpFunc { … }
func disk(stats statsFunc, fsStatsToMeasure []fsStatsType, diskResource v1.ResourceName) cmpFunc { … }
func cmpBool(a, b bool) int { … }
func rankMemoryPressure(pods []*v1.Pod, stats statsFunc) { … }
func rankPIDPressure(pods []*v1.Pod, stats statsFunc) { … }
func rankDiskPressureFunc(fsStatsToMeasure []fsStatsType, diskResource v1.ResourceName) rankFunc { … }
type byEvictionPriority …
func (a byEvictionPriority) Len() int { … }
func (a byEvictionPriority) Swap(i, j int) { … }
func (a byEvictionPriority) Less(i, j int) bool { … }
func makeSignalObservations(summary *statsapi.Summary) (signalObservations, statsFunc) { … }
func getSysContainer(sysContainers []statsapi.ContainerStats, name string) (*statsapi.ContainerStats, error) { … }
func thresholdsMet(thresholds []evictionapi.Threshold, observations signalObservations, enforceMinReclaim bool) []evictionapi.Threshold { … }
func debugLogObservations(logPrefix string, observations signalObservations) { … }
func debugLogThresholdsWithObservation(logPrefix string, thresholds []evictionapi.Threshold, observations signalObservations) { … }
func thresholdsUpdatedStats(thresholds []evictionapi.Threshold, observations, lastObservations signalObservations) []evictionapi.Threshold { … }
func thresholdsFirstObservedAt(thresholds []evictionapi.Threshold, lastObservedAt thresholdsObservedAt, now time.Time) thresholdsObservedAt { … }
func thresholdsMetGracePeriod(observedAt thresholdsObservedAt, now time.Time) []evictionapi.Threshold { … }
func nodeConditions(thresholds []evictionapi.Threshold) []v1.NodeConditionType { … }
func nodeConditionsLastObservedAt(nodeConditions []v1.NodeConditionType, lastObservedAt nodeConditionsObservedAt, now time.Time) nodeConditionsObservedAt { … }
func nodeConditionsObservedSince(observedAt nodeConditionsObservedAt, period time.Duration, now time.Time) []v1.NodeConditionType { … }
func hasFsStatsType(inputs []fsStatsType, item fsStatsType) bool { … }
func hasNodeCondition(inputs []v1.NodeConditionType, item v1.NodeConditionType) bool { … }
func mergeThresholds(inputsA []evictionapi.Threshold, inputsB []evictionapi.Threshold) []evictionapi.Threshold { … }
func hasThreshold(inputs []evictionapi.Threshold, item evictionapi.Threshold) bool { … }
func compareThresholdValue(a evictionapi.ThresholdValue, b evictionapi.ThresholdValue) bool { … }
func isHardEvictionThreshold(threshold evictionapi.Threshold) bool { … }
func isAllocatableEvictionThreshold(threshold evictionapi.Threshold) bool { … }
func buildSignalToRankFunc(withImageFs bool, imageContainerSplitFs bool) map[evictionapi.Signal]rankFunc { … }
func PodIsEvicted(podStatus v1.PodStatus) bool { … }
func buildSignalToNodeReclaimFuncs(imageGC ImageGC, containerGC ContainerGC, withImageFs bool, splitContainerImageFs bool) map[evictionapi.Signal]nodeReclaimFuncs { … }
func evictionMessage(resourceToReclaim v1.ResourceName, pod *v1.Pod, stats statsFunc, thresholds []evictionapi.Threshold, observations signalObservations) (message string, annotations map[string]string) { … }
func getThresholdMetInfo(resourceToReclaim v1.ResourceName, thresholds []evictionapi.Threshold, observations signalObservations) (quantity *resource.Quantity, available *resource.Quantity) { … }