pkg/scheduler/metrics/metrics.go
SchedulingLatency = prometheus.NewSummaryVec( prometheus.SummaryOpts{ Subsystem: SchedulerSubsystem, Name: SchedulingLatencyName, Help: "Scheduling latency in seconds split by sub-parts of the scheduling operation", // Make the sliding window of 5h. // TODO: The value for this should be based on some SLI definition (long term). MaxAge: 5 * time.Hour, }, []string{OperationLabel},
)
第64行:Scheduling latency in seconds split by sub-parts of the scheduling operation
一次调度被分割为子组件的操作时间的和
// Run begins watching and scheduling. It waits for cache to be synced, then starts a goroutine and returns immediately. func (sched *Scheduler) Run() { if !sched.config.WaitForCacheSync() { return } go wait.Until(sched.scheduleOne, 0, sched.config.StopEverything) }
1. sched.schedule
2. sched.assumeVolumes
3. sched.assume
4. sched.bindVolumes
5. sched.Cache
6. sched.bind