Sha256: 49af170cdac3e870e1901597e5e7c3c41dbdb34ea6316132f3a909d95af24dcc
Contents?: true
Size: 1.42 KB
Versions: 21
Compression:
Stored size: 1.42 KB
Contents
require 'active_support/core_ext/module/attr_internal' module Elasticsearch 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 = Elasticsearch::Rails::Instrumentation::LogSubscriber.reset_runtime runtime = super elasticsearch_rt_after_render = Elasticsearch::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) + Elasticsearch::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
21 entries across 21 versions & 1 rubygems