Sha256: 47c6cc164f0a678d72289aa3af7ba8c20571103d80c43bf03c7e2997d3d8792e

Contents?: true

Size: 830 Bytes

Versions: 2

Compression:

Stored size: 830 Bytes

Contents

module Appsignal::Integrations
  module WebmachinePlugin
    module FSM

      def run_with_appsignal
        transaction = Appsignal::Transaction.create(
          SecureRandom.uuid,
          Appsignal::Transaction::HTTP_REQUEST,
          request,
          {:params_method => :query}
        )

        transaction.set_action("#{resource.class.name}##{request.method}")

        ActiveSupport::Notifications.instrument('process_action.webmachine') do
          run_without_appsignal
        end

        Appsignal::Transaction.complete_current!
      end

      private

      def handle_exceptions_with_appsignal
        handle_exceptions_without_appsignal do
          begin
            yield
          rescue => e
            Appsignal.set_error(e)
            raise e
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
appsignal-1.3.6 lib/appsignal/integrations/webmachine.rb
appsignal-1.3.6.beta.1 lib/appsignal/integrations/webmachine.rb