@@ -314,9 +314,12 @@ func (s *npCollectorImpl) scheduleNetworkPathTests(origin payload.PathOrigin, co
314314
315315 startTime := s .TimeNowFn ()
316316 connCount := 0
317- var selected []baselineCandidate
317+ // Baseline mode must rank the complete snapshot before scheduling.
318+ // addBaselinePath keeps this list unique, best-first, and capped at
319+ // baselineSelectionsPerSnapshot; it remains nil in standard mode.
320+ var selectedBaselineCandidates []baselineCandidate
318321 if baseline {
319- selected = make ([]baselineCandidate , 0 , baselineSelectionsPerSnapshot )
322+ selectedBaselineCandidates = make ([]baselineCandidate , 0 , baselineSelectionsPerSnapshot )
320323 }
321324 for conn := range conns {
322325 connCount ++
@@ -327,7 +330,7 @@ func (s *npCollectorImpl) scheduleNetworkPathTests(origin payload.PathOrigin, co
327330 }
328331 pathtest := s .makePathtest (conn , origin )
329332 if baseline {
330- selected = addBaselinePath (selected , pathtest , conn .Baseline )
333+ selectedBaselineCandidates = addBaselinePath (selectedBaselineCandidates , pathtest , conn .Baseline )
331334 continue
332335 }
333336
@@ -336,7 +339,7 @@ func (s *npCollectorImpl) scheduleNetworkPathTests(origin payload.PathOrigin, co
336339 }
337340 }
338341 if baseline {
339- s .scheduleBaselinePaths (selected )
342+ s .scheduleBaselinePaths (selectedBaselineCandidates )
340343 }
341344 _ = s .statsdClient .Count (common .NetworkPathCollectorMetricPrefix + "schedule.conns_received" , int64 (connCount ), []string {}, 1 )
342345 _ = s .statsdClient .Gauge (common .NetworkPathCollectorMetricPrefix + "schedule.duration" , s .TimeNowFn ().Sub (startTime ).Seconds (), nil , 1 )
0 commit comments