class ScoutApm::Instruments::InfluxDB

Attributes

context[R]

Public Class Methods

new(context) click to toggle source
# File lib/scout_apm/instruments/influxdb.rb, line 6
def initialize(context)
  @context = context
  @installed = false
end

Public Instance Methods

do_request_with_scout_instruments(http, req, data = nil) click to toggle source
# File lib/scout_apm/instruments/influxdb.rb, line 30
def do_request_with_scout_instruments(http, req, data = nil)
  params = req.path[1..-1].split("?").last
  cleaned_params = CGI.unescape(params).gsub(/(\s{2,})/,' ')

  self.class.instrument("InfluxDB",
                        "#{req.path[1..-1].split("?").first.capitalize}",
                        :desc => cleaned_params,
                        :ignore_children => true) do
    do_request_without_scout_instruments(http, req, data)
  end
end
install() click to toggle source
# File lib/scout_apm/instruments/influxdb.rb, line 19
def install
  if defined?(::InfluxDB)
    @installed = true

    logger.debug "Instrumenting InfluxDB"

    ::InfluxDB::Client.class_eval do
      include ScoutApm::Tracer
    end

    ::InfluxDB::HTTP.module_eval do
      def do_request_with_scout_instruments(http, req, data = nil)
        params = req.path[1..-1].split("?").last
        cleaned_params = CGI.unescape(params).gsub(/(\s{2,})/,' ')

        self.class.instrument("InfluxDB",
                              "#{req.path[1..-1].split("?").first.capitalize}",
                              :desc => cleaned_params,
                              :ignore_children => true) do
          do_request_without_scout_instruments(http, req, data)
        end
      end

      alias_method :do_request_without_scout_instruments, :do_request
      alias_method :do_request, :do_request_with_scout_instruments
    end
  end
end
installed?() click to toggle source
# File lib/scout_apm/instruments/influxdb.rb, line 15
def installed?
  @installed
end
logger() click to toggle source
# File lib/scout_apm/instruments/influxdb.rb, line 11
def logger
  context.logger
end