Class: NetuitiveRailsAgent::ActionControllerSub
- Inherits:
-
Object
- Object
- NetuitiveRailsAgent::ActionControllerSub
- Defined in:
- lib/netuitive_rails_agent/action_controller.rb
Instance Attribute Summary collapse
-
#interaction ⇒ Object
readonly
Returns the value of attribute interaction.
Instance Method Summary collapse
- #expire_fragment ⇒ Object
- #expire_page ⇒ Object
- #halted_callback ⇒ Object
-
#initialize(interaction) ⇒ ActionControllerSub
constructor
A new instance of ActionControllerSub.
- #process_action(*args) ⇒ Object
- #read_fragment ⇒ Object
- #redirect_to ⇒ Object
- #send_file ⇒ Object
- #subscribe ⇒ Object
- #write_fragment ⇒ Object
- #write_page ⇒ Object
Constructor Details
#initialize(interaction) ⇒ ActionControllerSub
Returns a new instance of ActionControllerSub.
13 14 15 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 13 def initialize(interaction) @interaction = interaction end |
Instance Attribute Details
#interaction ⇒ Object (readonly)
Returns the value of attribute interaction.
11 12 13 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 11 def interaction @interaction end |
Instance Method Details
#expire_fragment ⇒ Object
78 79 80 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 78 def expire_fragment interaction.aggregate_metric('action_controller.expire_fragment', 1) end |
#expire_page ⇒ Object
86 87 88 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 86 def expire_page interaction.aggregate_metric('action_controller.expire_page', 1) end |
#halted_callback ⇒ Object
98 99 100 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 98 def halted_callback interaction.aggregate_metric('action_controller.halted_callback', 1) end |
#process_action(*args) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 47 def process_action(*args) NetuitiveRailsAgent::ErrorLogger.guard('error during process_action') do event = ActiveSupport::Notifications::Event.new(*args) controller = event.payload[:controller].to_s action = event.payload[:action].to_s ac_whitelist_string = NetuitiveRailsAgent::ConfigManager.action_controller_whitelist if controller =~ /#{ac_whitelist_string}/ interaction.add_sample("action_controller.#{controller}.#{action}.request.total_duration", event.duration) interaction.add_sample("action_controller.#{controller}.#{action}.request.query_time", event.payload[:db_runtime]) interaction.add_sample("action_controller.#{controller}.#{action}.request.view_time", event.payload[:view_runtime]) interaction.add_sample("action_controller.#{controller}.request.total_duration", event.duration) interaction.add_sample("action_controller.#{controller}.request.query_time", event.payload[:db_runtime]) interaction.add_sample("action_controller.#{controller}.request.view_time", event.payload[:view_runtime]) interaction.aggregate_metric("action_controller.#{controller}.#{action}.total_requests", 1) interaction.aggregate_metric("action_controller.#{controller}.total_requests", 1) end interaction.add_sample('action_controller.request.total_duration', event.duration) interaction.add_sample('action_controller.request.query_time', event.payload[:db_runtime]) interaction.add_sample('action_controller.request.view_time', event.payload[:view_runtime]) interaction.aggregate_metric('action_controller.total_requests', 1) end end |
#read_fragment ⇒ Object
74 75 76 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 74 def read_fragment interaction.aggregate_metric('action_controller.read_fragment', 1) end |
#redirect_to ⇒ Object
94 95 96 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 94 def redirect_to interaction.aggregate_metric('action_controller.redirect', 1) end |
#send_file ⇒ Object
90 91 92 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 90 def send_file interaction.aggregate_metric('action_controller.sent_file', 1) end |
#subscribe ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 17 def subscribe ActiveSupport::Notifications.subscribe(/process_action.action_controller/) do |*args| process_action(*args) end ActiveSupport::Notifications.subscribe(/write_fragment.action_controller/) do |*_args| write_fragment end ActiveSupport::Notifications.subscribe(/read_fragment.action_controller/) do |*_args| read_fragment end ActiveSupport::Notifications.subscribe(/expire_fragment.action_controller/) do |*_args| expire_fragment end ActiveSupport::Notifications.subscribe(/write_page.action_controller/) do |*_args| write_page end ActiveSupport::Notifications.subscribe(/expire_page.action_controller/) do |*_args| expire_page end ActiveSupport::Notifications.subscribe(/send_file.action_controller/) do |*_args| send_file end ActiveSupport::Notifications.subscribe(/redirect_to.action_controller/) do |*_args| redirect_to end ActiveSupport::Notifications.subscribe(/halted_callback.action_controller/) do |*_args| halted_callback end end |
#write_fragment ⇒ Object
70 71 72 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 70 def write_fragment interaction.aggregate_metric('action_controller.write_fragment', 1) end |
#write_page ⇒ Object
82 83 84 |
# File 'lib/netuitive_rails_agent/action_controller.rb', line 82 def write_page interaction.aggregate_metric('action_controller.write_page', 1) end |