| Module | ActiveLdap::ActionController::LdapBenchmarking |
| In: |
lib/active_ldap/action_controller/ldap_benchmarking.rb
|
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 4
4: def self.included(base)
5: base.class_eval do
6: alias_method_chain :render_with_benchmark, :active_ldap
7: if private_method_defined?(:view_runtime)
8: alias_method_chain :view_runtime, :active_ldap
9: else
10: alias_method_chain :rendering_runtime, :active_ldap
11: end
12: end
13: end
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 16
16: def render_with_benchmark_with_active_ldap(*args, &block)
17: if logger
18: ldap_runtime_before_render = ActiveLdap::Base.reset_runtime
19: end
20: result = render_with_benchmark_without_active_ldap(*args, &block)
21: if logger
22: @ldap_runtime_before_render = ldap_runtime_before_render
23: @ldap_runtime_after_render = ActiveLdap::Base.reset_runtime
24: if defined?(@rendering_runtime)
25: @rendering_runtime -= @ldap_runtime_after_render
26: else
27: @view_runtime -= @ldap_runtime_after_render
28: end
29: end
30: result
31: end
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 34
34: def rendering_runtime_with_active_ldap(runtime)
35: result = rendering_runtime_without_active_ldap(runtime)
36: ldap_runtime = ActiveLdap::Base.reset_runtime
37: ldap_runtime += @ldap_runtime_before_render || 0
38: ldap_runtime += @ldap_runtime_after_render || 0
39: ldap_percentage = ldap_runtime * 100 / runtime
40: result + (" | LDAP: %.5f (%d%%)" % [ldap_runtime, ldap_percentage])
41: end
# File lib/active_ldap/action_controller/ldap_benchmarking.rb, line 43
43: def view_runtime_with_active_ldap
44: result = view_runtime_without_active_ldap
45: ldap_runtime = ActiveLdap::Base.reset_runtime
46: @ldap_runtime_before_render ||= 0
47: @ldap_runtime_after_render ||= 0
48: ldap_runtime += @ldap_runtime_before_render
49: ldap_runtime += @ldap_runtime_after_render
50: result + (", LDAP: %.0f" % (ldap_runtime * 1000))
51: end