debian-mirror-gitlab/lib/gitlab/health_checks/puma_check.rb

37 lines
734 B
Ruby
Raw Normal View History

2019-12-21 20:55:43 +05:30
# frozen_string_literal: true
module Gitlab
module HealthChecks
# This check can only be run on Puma `master` process
class PumaCheck
extend SimpleAbstractCheck
class << self
private
def metric_prefix
'puma_check'
end
def successful?(result)
result > 0
end
def check
2020-03-13 15:44:24 +05:30
return unless Gitlab::Runtime.puma?
2019-12-21 20:55:43 +05:30
stats = Puma.stats
2020-05-24 23:13:21 +05:30
stats = Gitlab::Json.parse(stats)
2019-12-21 20:55:43 +05:30
# If `workers` is missing this means that
# Puma server is running in single mode
stats.fetch('workers', 1)
rescue NoMethodError
# server is not ready
0
end
end
end
end
end