Sha256: 810425fa7fe44f23a8772be1e318a994a1315aaf863f5a93d73266a7824ecb64
Contents?: true
Size: 1.19 KB
Versions: 18
Compression:
Stored size: 1.19 KB
Contents
module Gummi module Rails module Instrumentation # A log subscriber to attach to Elasticsearch related events # # @see https://github.com/rails/rails/blob/master/activerecord/lib/active_record/log_subscriber.rb # class LogSubscriber < ActiveSupport::LogSubscriber def self.runtime=(value) Thread.current["elasticsearch_runtime"] = value end def self.runtime Thread.current["elasticsearch_runtime"] ||= 0 end def self.reset_runtime rt, self.runtime = runtime, 0 rt end # Intercept `search.elasticsearch` events, and display them in the Rails log # def search(event) self.class.runtime += event.duration return unless logger.debug? payload = event.payload name = "#{payload[:name]} (#{event.duration.round(1)}ms)" search = payload[:search].inspect.gsub(/:(\w+)=>/, '\1: ') logger.debug "#{color(name, GREEN, true)} #{search}" end def logger Gummi.config.logger end end end end end Gummi::Rails::Instrumentation::LogSubscriber.attach_to :elasticsearch
Version data entries
18 entries across 18 versions & 1 rubygems