Documentation ¶
Index ¶
Constants ¶
View Source
const ( GarbageCollectSubsystem = "garbage_collector" EventProcessingLatencyKey = "event_processing_latency_microseconds" DirtyProcessingLatencyKey = "dirty_processing_latency_microseconds" OrphanProcessingLatencyKey = "orphan_processing_latency_microseconds" )
View Source
const ResourceResyncTime time.Duration = 0
Variables ¶
View Source
var ( EventProcessingLatency = prometheus.NewSummary( prometheus.SummaryOpts{ Subsystem: GarbageCollectSubsystem, Name: EventProcessingLatencyKey, Help: "Time in microseconds of an event spend in the eventQueue", }, ) DirtyProcessingLatency = prometheus.NewSummary( prometheus.SummaryOpts{ Subsystem: GarbageCollectSubsystem, Name: DirtyProcessingLatencyKey, Help: "Time in microseconds of an item spend in the dirtyQueue", }, ) OrphanProcessingLatency = prometheus.NewSummary( prometheus.SummaryOpts{ Subsystem: GarbageCollectSubsystem, Name: OrphanProcessingLatencyKey, Help: "Time in microseconds of an item spend in the orphanQueue", }, ) )
Functions ¶
Types ¶
type GarbageCollector ¶
type GarbageCollector struct {
// contains filtered or unexported fields
}
GarbageCollector is responsible for carrying out cascading deletion, and removing ownerReferences from the dependents if the owner is deleted with DeleteOptions.OrphanDependents=true.
func NewGarbageCollector ¶
func NewGarbageCollector(metaOnlyClientPool dynamic.ClientPool, clientPool dynamic.ClientPool, mapper meta.RESTMapper, deletableResources map[schema.GroupVersionResource]struct{}) (*GarbageCollector, error)
func (*GarbageCollector) GraphHasUID ¶
func (gc *GarbageCollector) GraphHasUID(UIDs []types.UID) bool
*FOR TEST USE ONLY* It's not safe to call this function when the GC is still busy. GraphHasUID returns if the Propagator has a particular UID store in its uidToNode graph. It's useful for debugging.
func (*GarbageCollector) Run ¶
func (gc *GarbageCollector) Run(workers int, stopCh <-chan struct{})
type Propagator ¶
type Propagator struct {
// contains filtered or unexported fields
}
type RegisteredRateLimiter ¶
type RegisteredRateLimiter struct {
// contains filtered or unexported fields
}
RegisteredRateLimiter records the registered RateLimters to avoid duplication.
func NewRegisteredRateLimiter ¶
func NewRegisteredRateLimiter(resources map[schema.GroupVersionResource]struct{}) *RegisteredRateLimiter
NewRegisteredRateLimiter returns a new RegisteredRateLimiater. TODO: NewRegisteredRateLimiter is not dynamic. We need to find a better way when GC dynamically change the resources it monitors.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.