Documentation
¶
Index ¶
Constants ¶
const (
GarbageCollectSubsystem = "garbage_collector"
EventProcessingLatencyKey = "event_processing_latency_microseconds"
DirtyProcessingLatencyKey = "dirty_processing_latency_microseconds"
OrphanProcessingLatencyKey = "orphan_processing_latency_microseconds"
)
const ResourceResyncTime time.Duration = 0
Variables ¶
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.
type Propagator ¶
type Propagator struct {
// contains filtered or unexported fields
}
type RegisteredRateLimiter ¶ added in v1.4.0
type RegisteredRateLimiter struct {
// contains filtered or unexported fields
}
RegisteredRateLimiter records the registered RateLimters to avoid duplication.
func NewRegisteredRateLimiter ¶ added in v1.4.0
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.
type UIDCache ¶ added in v1.4.0
type UIDCache struct {
// contains filtered or unexported fields
}
UIDCache is an LRU cache for uid.
func NewUIDCache ¶ added in v1.4.0
func NewUIDCache(maxCacheEntries int) *UIDCache
NewUIDCache returns a UIDCache.