diff options
Diffstat (limited to 'lib/gitlab/ci/queue/metrics.rb')
-rw-r--r-- | lib/gitlab/ci/queue/metrics.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/gitlab/ci/queue/metrics.rb b/lib/gitlab/ci/queue/metrics.rb index 859aeb35f26..7f45d626922 100644 --- a/lib/gitlab/ci/queue/metrics.rb +++ b/lib/gitlab/ci/queue/metrics.rb @@ -97,7 +97,9 @@ module Gitlab def observe_queue_size(size_proc, runner_type) return unless Feature.enabled?(:gitlab_ci_builds_queuing_metrics, default_enabled: false) - self.class.queue_size_total.observe({ runner_type: runner_type }, size_proc.call.to_f) + size = size_proc.call.to_f + self.class.queue_size_total.observe({ runner_type: runner_type }, size) + self.class.current_queue_size.set({ runner_type: runner_type }, size) end def observe_queue_time(metric, runner_type) @@ -199,6 +201,15 @@ module Gitlab end end + def self.current_queue_size + strong_memoize(:current_queue_size) do + name = :gitlab_ci_current_queue_size + comment = 'Current size of initialized CI/CD builds queue' + + Gitlab::Metrics.gauge(name, comment) + end + end + def self.queue_iteration_duration_seconds strong_memoize(:queue_iteration_duration_seconds) do name = :gitlab_ci_queue_iteration_duration_seconds |