Documentation ¶
Index ¶
- Constants
- func GetRegisteredInitializers() map[types.MemoryAdvisorPluginName]InitFunc
- func RegisterInitializer(name types.MemoryAdvisorPluginName, initFunc InitFunc)
- type BalanceInfo
- type BalanceLevel
- type BalancePod
- type BalanceStatus
- type BandwidthLevel
- type EvictPod
- type InitFunc
- type MemoryAdvisorPlugin
- func NewCacheReaper(conf *config.Configuration, extraConfig interface{}, ...) MemoryAdvisorPlugin
- func NewMemoryBalancer(conf *config.Configuration, _ interface{}, metaReader metacache.MetaReader, ...) MemoryAdvisorPlugin
- func NewMemoryGuard(conf *config.Configuration, extraConfig interface{}, ...) MemoryAdvisorPlugin
- func NewMemsetBinder(conf *config.Configuration, extraConfig interface{}, ...) MemoryAdvisorPlugin
- type NumaInfo
- type NumaLatencyInfo
- type PodSort
Constants ¶
View Source
const ( NumaMemoryBalancer = "numa_memory_balancer" EvictionPluginNameMemoryBalancer = "numa_memory_balancer" EvictReason = "the memory node %v is under bandwidth pressure" MetricNumaMemoryBalance = "numa_memory_balance" )
View Source
const ( BandwidthHighThreshold float64 = 0.8 BandwidthMediumThreshold float64 = 0.5 PingPongDetectThresholdInMinutes = 15 MigratePagesThreshold = 0.7 BalanceInterval = 30 * time.Second )
View Source
const (
CacheReaper = "cache-reaper"
)
View Source
const (
MemoryGuard = "memory-guard"
)
View Source
const (
MemsetBinder = "memset-binder"
)
Variables ¶
This section is empty.
Functions ¶
func GetRegisteredInitializers ¶
func GetRegisteredInitializers() map[types.MemoryAdvisorPluginName]InitFunc
func RegisterInitializer ¶
func RegisterInitializer(name types.MemoryAdvisorPluginName, initFunc InitFunc)
Types ¶
type BalanceInfo ¶ added in v0.4.1
type BalanceInfo struct { EvictPods []EvictPod `json:"evictPods"` BalancePods []BalancePod `json:"balancePods"` DestNumas []NumaInfo `json:"destNumas"` NeedBalance bool `json:"needBalance"` BandwidthPressure bool `json:"bandwidthPressure"` BalanceLevel BalanceLevel `json:"balanceLevel"` TotalRSS float64 `json:"totalRSS"` MaxLatencyNuma *NumaLatencyInfo `json:"maxLatencyNuma"` MaxBandwidthNuma *NumaLatencyInfo `json:"maxBandwidthNuma"` RawNumaLatencyInfo []*NumaLatencyInfo `json:"rawNumaLatencyInfo"` MaxLatencyNumaBandwidthLevel BandwidthLevel `json:"maxLatencyNumaBandwidthLevel"` SourceNuma *NumaLatencyInfo `json:"sourceNuma"` Status BalanceStatus `json:"status"` FailedReason string `json:"failedReason"` DetectTime time.Time `json:"detectTime"` BalanceExecuted bool `json:"balanceExecuted"` EvictExecuted bool `json:"evictExecuted"` }
type BalanceLevel ¶ added in v0.4.1
type BalanceLevel string
const ( ForceBalance BalanceLevel = "forceBalance" GraceBalance BalanceLevel = "graceBalance" )
type BalancePod ¶ added in v0.4.1
type BalanceStatus ¶ added in v0.4.1
type BalanceStatus string
const ( BalanceStatusPreparing BalanceStatus = "preparing" BalanceStatusPrepareSuccess BalanceStatus = "prepareSuccess" BalanceStatusPrepareFailed BalanceStatus = "prepareFailed" )
type BandwidthLevel ¶ added in v0.4.1
type BandwidthLevel string
const ( BandwidthLevelLow BandwidthLevel = "low" BandwidthLevelMedium BandwidthLevel = "medium" BandwidthLevelHigh BandwidthLevel = "high" )
type InitFunc ¶
type InitFunc func(conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) MemoryAdvisorPlugin
type MemoryAdvisorPlugin ¶
type MemoryAdvisorPlugin interface { // Reconcile triggers an episode of plugin update Reconcile(status *types.MemoryPressureStatus) error // GetAdvices return the advices GetAdvices() types.InternalMemoryCalculationResult }
MemoryAdvisorPlugin generates resource provision result based on configured algorithm
func NewCacheReaper ¶
func NewCacheReaper(conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) MemoryAdvisorPlugin
func NewMemoryBalancer ¶ added in v0.4.1
func NewMemoryBalancer(conf *config.Configuration, _ interface{}, metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) MemoryAdvisorPlugin
func NewMemoryGuard ¶
func NewMemoryGuard(conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) MemoryAdvisorPlugin
func NewMemsetBinder ¶
func NewMemsetBinder(conf *config.Configuration, extraConfig interface{}, metaReader metacache.MetaReader, metaServer *metaserver.MetaServer, emitter metrics.MetricEmitter) MemoryAdvisorPlugin
type NumaInfo ¶ added in v0.4.1
type NumaInfo struct { *NumaLatencyInfo Distance int `json:"Distance"` }
type NumaLatencyInfo ¶ added in v0.4.1
Source Files ¶
Click to show internal directories.
Click to hide internal directories.