Sha256: 54208aa87aac18dfaac55f5d33ac0c38c4da5778541b5bffb4918ae3164dbe6b
Contents?: true
Size: 1.38 KB
Versions: 18
Compression:
Stored size: 1.38 KB
Contents
require 'active_support/core_ext/module/attr_internal' module Gummi module Rails module Instrumentation # Hooks into ActionController to display Elasticsearch runtime # # @see https://github.com/rails/rails/blob/master/activerecord/lib/active_record/railties/controller_runtime.rb # module ControllerRuntime extend ActiveSupport::Concern protected attr_internal :elasticsearch_runtime def cleanup_view_runtime elasticsearch_rt_before_render = Gummi::Rails::Instrumentation::LogSubscriber.reset_runtime runtime = super elasticsearch_rt_after_render = Gummi::Rails::Instrumentation::LogSubscriber.reset_runtime self.elasticsearch_runtime = elasticsearch_rt_before_render + elasticsearch_rt_after_render runtime - elasticsearch_rt_after_render end def append_info_to_payload(payload) super payload[:elasticsearch_runtime] = (elasticsearch_runtime || 0) + Gummi::Rails::Instrumentation::LogSubscriber.reset_runtime end module ClassMethods def log_process_action(payload) messages, elasticsearch_runtime = super, payload[:elasticsearch_runtime] messages << ("Elasticsearch: %.1fms" % elasticsearch_runtime.to_f) if elasticsearch_runtime messages end end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems