Added check for STATSD_ADDR setting to emit a warning and proceed rather than crashing if the address is unreachable (#30691)

This commit is contained in:
Tim Rogers 2024-06-24 09:41:04 -05:00 committed by Claire
parent 8e924e4338
commit 839147e099

View file

@ -3,13 +3,17 @@
if ENV['STATSD_ADDR'].present? if ENV['STATSD_ADDR'].present?
host, port = ENV['STATSD_ADDR'].split(':') host, port = ENV['STATSD_ADDR'].split(':')
$statsd = ::Statsd.new(host, port) begin
$statsd.namespace = ENV.fetch('STATSD_NAMESPACE') { ['Mastodon', Rails.env].join('.') } statsd = Statsd.new(host, port)
statsd.namespace = ENV.fetch('STATSD_NAMESPACE') { ['Mastodon', Rails.env].join('.') }
::NSA.inform_statsd($statsd) do |informant| NSA.inform_statsd(statsd) do |informant|
informant.collect(:action_controller, :web) informant.collect(:action_controller, :web)
informant.collect(:active_record, :db) informant.collect(:active_record, :db)
informant.collect(:active_support_cache, :cache) informant.collect(:active_support_cache, :cache)
informant.collect(:sidekiq, :sidekiq) informant.collect(:sidekiq, :sidekiq)
end
rescue
Rails.logger.warn("statsd address #{ENV['STATSD_ADDR']} not reachable, proceeding without statsd")
end end
end end