Sha256: 410ac2f7ed91657b2e1938b32fe6dedc36c77c993a22b565a96d004ec2100460

Contents?: true

Size: 841 Bytes

Versions: 15

Compression:

Stored size: 841 Bytes

Contents

module Skylight
  module Normalizers
    class ProcessAction < Normalizer
      register "process_action.action_controller"

      CAT = "app.controller.request".freeze
      PAYLOAD_KEYS = %w[ controller action params format method path ].map(&:to_sym).freeze

      def normalize(trace, name, payload)
        trace.endpoint = controller_action(payload)
        [ CAT, trace.endpoint, nil, normalize_payload(payload) ]
      end

    private

      def controller_action(payload)
        "#{payload[:controller]}##{payload[:action]}"
      end

      def normalize_payload(payload)
        normalized = {}

        PAYLOAD_KEYS.each do |key|
          val = payload[key]
          val = val.inspect unless val.is_a?(String) || val.is_a?(Numeric)
          normalized[key] = val
        end

        normalized
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
skylight-0.3.14 lib/skylight/normalizers/process_action.rb
skylight-0.3.13 lib/skylight/normalizers/process_action.rb
skylight-0.3.12 lib/skylight/normalizers/process_action.rb
skylight-0.3.11 lib/skylight/normalizers/process_action.rb
skylight-0.3.10 lib/skylight/normalizers/process_action.rb
skylight-0.3.8 lib/skylight/normalizers/process_action.rb
skylight-0.3.7 lib/skylight/normalizers/process_action.rb
skylight-0.3.6 lib/skylight/normalizers/process_action.rb
skylight-0.3.3 lib/skylight/normalizers/process_action.rb
skylight-0.3.2 lib/skylight/normalizers/process_action.rb
skylight-0.3.1 lib/skylight/normalizers/process_action.rb
skylight-0.3.0 lib/skylight/normalizers/process_action.rb
skylight-0.2.7 lib/skylight/normalizers/process_action.rb
skylight-0.2.6 lib/skylight/normalizers/process_action.rb
skylight-0.3.0.rc.6 lib/skylight/normalizers/process_action.rb