Sha256: aead9b25ebdf521023047c7919c8bf9987fe35cf15ff0c185fea1ebc2d514d35

Contents?: true

Size: 761 Bytes

Versions: 5

Compression:

Stored size: 761 Bytes

Contents

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

      CAT = "app.controller.request".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.each_key do |key|
          value = payload[key]

          value = value.inspect unless value.is_a?(String) || value.is_a?(Numeric)
          normalized[key] = value
        end

        normalized
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
skylight-0.2.3 lib/skylight/normalizers/process_action.rb
skylight-0.2.2 lib/skylight/normalizers/process_action.rb
skylight-0.2.1 lib/skylight/normalizers/process_action.rb
skylight-0.2.0 lib/skylight/normalizers/process_action.rb
skylight-0.2.0.beta.4 lib/skylight/normalizers/process_action.rb