From 6ec768668ec521a5752ced29924dff0f4591d083 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 22 Aug 2024 16:28:54 -0400
Subject: [PATCH] Remove `nsa` statsd integration (replaced by OpenTelemetry)
 (#30240)

---
 Gemfile                       |  1 -
 Gemfile.lock                  |  7 -------
 config/initializers/statsd.rb | 19 -------------------
 3 files changed, 27 deletions(-)
 delete mode 100644 config/initializers/statsd.rb

diff --git a/Gemfile b/Gemfile
index 5b82fa98d..9a6db1ec0 100644
--- a/Gemfile
+++ b/Gemfile
@@ -64,7 +64,6 @@ gem 'link_header', '~> 0.0'
 gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
 gem 'mime-types', '~> 3.5.0', require: 'mime/types/columnar'
 gem 'nokogiri', '~> 1.15'
-gem 'nsa'
 gem 'oj', '~> 3.14'
 gem 'ox', '~> 2.14'
 gem 'parslet'
diff --git a/Gemfile.lock b/Gemfile.lock
index 8ea4fb66f..62f6f091b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -455,11 +455,6 @@ GEM
     nokogiri (1.16.7)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
-    nsa (0.3.0)
-      activesupport (>= 4.2, < 7.2)
-      concurrent-ruby (~> 1.0, >= 1.0.2)
-      sidekiq (>= 3.5)
-      statsd-ruby (~> 1.4, >= 1.4.0)
     oj (3.16.5)
       bigdecimal (>= 3.0)
       ostruct (>= 0.2)
@@ -821,7 +816,6 @@ GEM
     simplecov-lcov (0.8.0)
     simplecov_json_formatter (0.1.4)
     stackprof (0.2.26)
-    statsd-ruby (1.5.0)
     stoplight (4.1.0)
       redlock (~> 1.0)
     stringio (3.1.1)
@@ -980,7 +974,6 @@ DEPENDENCIES
   net-http (~> 0.4.0)
   net-ldap (~> 0.18)
   nokogiri (~> 1.15)
-  nsa
   oj (~> 3.14)
   omniauth (~> 2.0)
   omniauth-cas (~> 3.0.0.beta.1)
diff --git a/config/initializers/statsd.rb b/config/initializers/statsd.rb
deleted file mode 100644
index f1628a9d1..000000000
--- a/config/initializers/statsd.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# frozen_string_literal: true
-
-if ENV['STATSD_ADDR'].present?
-  host, port = ENV['STATSD_ADDR'].split(':')
-
-  begin
-    statsd = Statsd.new(host, port)
-    statsd.namespace = ENV.fetch('STATSD_NAMESPACE') { ['Mastodon', Rails.env].join('.') }
-
-    NSA.inform_statsd(statsd) do |informant|
-      informant.collect(:action_controller, :web)
-      informant.collect(:active_record, :db)
-      informant.collect(:active_support_cache, :cache)
-      informant.collect(:sidekiq, :sidekiq) if ENV['STATSD_SIDEKIQ'] == 'true'
-    end
-  rescue
-    Rails.logger.warn("statsd address #{ENV['STATSD_ADDR']} not reachable, proceeding without statsd")
-  end
-end