Sha256: a9da99420a87b916fece790960ae8c73db86c38673d5edc60e3e34969392c269

Contents?: true

Size: 801 Bytes

Versions: 10

Compression:

Stored size: 801 Bytes

Contents

# frozen_string_literal: true

require 'airbrake/rails/event'

module Airbrake
  module Rails
    # ActionControllerNotifySubscriber sends route stat information, including
    # performance data.
    #
    # @since v8.0.0
    class ActionControllerNotifySubscriber
      def call(*args)
        return unless Airbrake::Config.instance.performance_stats

        routes = Airbrake::Rack::RequestStore[:routes]
        return if !routes || routes.none?

        event = Airbrake::Rails::Event.new(*args)

        routes.each do |route, _params|
          Airbrake.notify_request(
            method: event.method,
            route: route,
            status_code: event.status_code,
            timing: event.duration,
            time: event.time,
          )
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
airbrake-13.0.5 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-13.0.4 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-13.0.3 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-13.0.2 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-13.0.0 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-12.0.0 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-11.0.3 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-11.0.2 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-11.0.1 lib/airbrake/rails/action_controller_notify_subscriber.rb
airbrake-11.0.0 lib/airbrake/rails/action_controller_notify_subscriber.rb