Sha256: c7b76b67dfe97b616a2a14c2bd3c19bc994c43464d95ba53bf463f80724c92c6

Contents?: true

Size: 824 Bytes

Versions: 7

Compression:

Stored size: 824 Bytes

Contents

module RorVsWild
  module Plugin
    class Elasticsearch
      def self.setup
        return if !defined?(::Elasticsearch::Transport)
        return if ::Elasticsearch::Transport::Client.method_defined?(:perform_request_without_rorvswild)

        ::Elasticsearch::Transport::Client.class_eval do
          alias_method :perform_request_without_rorvswild, :perform_request

          def perform_request(method, path, params={}, body=nil)
            RorVsWild::Plugin::NetHttp.ignore do
              command = {method: method, path: path, params: params, body: body}.to_json
              RorVsWild.agent.measure_section(command, kind: "elasticsearch") do
                perform_request_without_rorvswild(method, path, params, body)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rorvswild-1.3.5 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.3.4 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.3.3 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.3.2 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.3.1 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.3.0 lib/rorvswild/plugin/elasticsearch.rb
rorvswild-1.2.0 lib/rorvswild/plugin/elasticsearch.rb