Skip to content

Commit f1a44c3

Browse files
Don't send healthcheck events to AppSignal to save storage
1 parent 9ab07e5 commit f1a44c3

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Rails.application.config.to_prepare do
2+
original_subscriber_entry = if defined?(Appsignal::Integrations::ActiveSupportEventReporter::Subscriber)
3+
Rails.event.instance_variable_get(:@subscribers).find do |entry|
4+
entry[:subscriber].is_a? Appsignal::Integrations::ActiveSupportEventReporter::Subscriber
5+
end
6+
end
7+
8+
next unless original_subscriber_entry
9+
10+
subscribers.delete original_subscriber_entry
11+
12+
filtered_subscriber = Class.new do
13+
def initialize(original_subscriber)
14+
@original_subscriber = original_subscriber
15+
end
16+
17+
def emit(event)
18+
@original_subscriber.emit(event) unless healthcheck?(event)
19+
end
20+
21+
private
22+
23+
def healthcheck?(event)
24+
event.dig(:payload, :controller) == "Rails::HealthController" && event.dig(:payload, :action) == "show"
25+
end
26+
end
27+
28+
Rails.event.subscribe(
29+
filtered_subscriber.new(original_subscriber_entry[:subscriber]),
30+
&original_subscriber_entry[:filter]
31+
)
32+
end

0 commit comments

Comments
 (0)