Module: Traxor::Rails::ActionController
- Defined in:
- lib/traxor/rails/action_controller.rb
Constant Summary collapse
- COUNT_METRIC =
'rails.action_controller.count'- TOTAL_METRIC =
'rails.action_controller.total.duration'- RUBY_METRIC =
'rails.action_controller.ruby.duration'- DB_METRIC =
'rails.action_controller.db.duration'- VIEW_METRIC =
'rails.action_controller.view.duration'- EXCEPTION_METRIC =
'rails.action_controller.exception.count'
Class Method Summary collapse
Class Method Details
.add_controller_tags(event) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/traxor/rails/action_controller.rb', line 15 def self.(event) Traxor::Tags.controller = { controller_name: event.payload[:controller], controller_action: event.payload[:action], controller_method: event.payload[:method] } end |
.record(event) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/traxor/rails/action_controller.rb', line 23 def self.record(event) exception = event.payload[:exception] duration = (event.duration || 0.0).to_f db_runtime = (event.payload[:db_runtime] || 0.0).to_f view_runtime = (event.payload[:view_runtime] || 0.0).to_f ruby_runtime = duration - db_runtime - view_runtime Metric::Line.record do |l| l.count COUNT_METRIC, 1 l.measure TOTAL_METRIC, "#{duration.round(2)}ms" if duration.positive? l.measure RUBY_METRIC, "#{ruby_runtime.round(2)}ms" if ruby_runtime.positive? l.measure DB_METRIC, "#{db_runtime.round(2)}ms" if db_runtime.positive? l.measure VIEW_METRIC, "#{view_runtime.round(2)}ms" if view_runtime.positive? l.count EXCEPTION_METRIC, 1 if exception end end |