diff options
Diffstat (limited to 'app/services/ci/update_build_queue_service.rb')
-rw-r--r-- | app/services/ci/update_build_queue_service.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/app/services/ci/update_build_queue_service.rb b/app/services/ci/update_build_queue_service.rb index 241eba733ea..cf629b879b3 100644 --- a/app/services/ci/update_build_queue_service.rb +++ b/app/services/ci/update_build_queue_service.rb @@ -2,16 +2,21 @@ module Ci class UpdateBuildQueueService - def execute(build) - tick_for(build, build.project.all_runners) + def execute(build, metrics = ::Gitlab::Ci::Queue::Metrics) + tick_for(build, build.project.all_runners, metrics) end private - def tick_for(build, runners) + def tick_for(build, runners, metrics) runners = runners.with_recent_runner_queue + runners = runners.with_tags if Feature.enabled?(:ci_preload_runner_tags, default_enabled: :yaml) + + metrics.observe_active_runners(-> { runners.to_a.size }) runners.each do |runner| + metrics.increment_runner_tick(runner) + runner.pick_build!(build) end end |