Sha256: ee116f544124f9e1e20b610fa5eb2831d5175b0375f16a2e3a8d39ccb7e0c6ad

Contents?: true

Size: 1.55 KB

Versions: 39

Compression:

Stored size: 1.55 KB

Contents

# encoding: utf-8

LibraryDetection.defer do
  @name = :rails_action_web_service

  depends_on do
    defined?(ActionWebService)
  end

  executes do
    OneApm::Manager.logger.info 'Installing Rails ActionWebService instrumentation'
  end

  executes do
    # OneApm Agent instrumentation for WebServices

    # Note Action Web Service is removed from default package in rails
    # 2.0, this is purely here as a service to our legacy customers.

    # instrumentation for Web Service martialing - XML RPC
    ActionWebService::Protocol::XmlRpc::XmlRpcProtocol.class_eval do
      add_method_tracer :decode_request, "WebService/Xml Rpc/XML Decode"
      add_method_tracer :encode_request, "WebService/Xml Rpc/XML Encode"
      add_method_tracer :decode_response, "WebService/Xml Rpc/XML Decode"
      add_method_tracer :encode_response, "WebService/Xml Rpc/XML Encode"
    end

    # instrumentation for Web Service martialing - Soap
    ActionWebService::Protocol::Soap::SoapProtocol.class_eval do
      add_method_tracer :decode_request, "WebService/Soap/XML Decode"
      add_method_tracer :encode_request, "WebService/Soap/XML Encode"
      add_method_tracer :decode_response, "WebService/Soap/XML Decode"
      add_method_tracer :encode_response, "WebService/Soap/XML Encode"
    end

    if defined?(ActionController) && defined?(ActionController::Base)
      ActionController::Base.class_eval do
        if method_defined? :perform_invocation
          add_method_tracer :perform_invocation, 'WebService/#{controller_name}/#{args.first}'
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
oneapm_rpm-1.4.2 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.4.1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.4.0 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.7 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.7.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.6 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.6.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.5 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.5.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.4 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.4.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.3 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.3.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.2 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.2.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.1.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.0 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.3.0.rc1 lib/one_apm/inst/rails/action_web_service.rb
oneapm_rpm-1.2.9 lib/one_apm/inst/rails/action_web_service.rb