Class: Railscope::Subscribers::RequestSubscriber

Inherits:
BaseSubscriber show all
Defined in:
lib/railscope/subscribers/request_subscriber.rb

Constant Summary collapse

EVENT_NAME =
"process_action.action_controller"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.subscribe ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/railscope/subscribers/request_subscriber.rb', line 8

def self.subscribe
  return if @subscribed

  @subscribed = true

  ActiveSupport::Notifications.subscribe(EVENT_NAME) do |*args|
    event = ActiveSupport::Notifications::Event.new(*args)
    new.record(event)
  end
end

Instance Method Details

#record(event) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/railscope/subscribers/request_subscriber.rb', line 19

def record(event)
  return unless Railscope.enabled?
  return unless Railscope.ready?

  create_entry!(
    entry_type: "request",
    payload: build_payload(event),
    tags: build_tags(event),
    family_hash: build_family_hash(event),
    should_display_on_index: true
  )
rescue StandardError => e
  Rails.logger.error("[Railscope] Failed to record request: #{e.message}")
end