Class: InstStatsd::RequestTracking
- Inherits:
-
Object
- Object
- InstStatsd::RequestTracking
- Defined in:
- lib/inst_statsd/request_tracking.rb
Class Method Summary collapse
- .enable(logger: nil) ⇒ Object
- .finalize_processing(*args) ⇒ Object
- .start_processing(*_args) ⇒ Object
- .track_timing ⇒ Object
Class Method Details
.enable(logger: nil) ⇒ Object
4 5 6 7 |
# File 'lib/inst_statsd/request_tracking.rb', line 4 def self.enable(logger: nil) @logger = RequestLogger.new(logger) track_timing end |
.finalize_processing(*args) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/inst_statsd/request_tracking.rb', line 20 def self.finalize_processing *args request_stat = InstStatsd::RequestStat.new(*args) request_stat.stats = .map { |(name, )| [name, Counter.counters[name].finalize_count()] }.to_h request_stat.report @logger.log(request_stat) end |
.start_processing(*_args) ⇒ Object
16 17 18 |
# File 'lib/inst_statsd/request_tracking.rb', line 16 def self.start_processing(*_args) = Counter.counters.map { |(name, counter)| [name, counter.start] } end |
.track_timing ⇒ Object
11 12 13 14 |
# File 'lib/inst_statsd/request_tracking.rb', line 11 def self.track_timing ActiveSupport::Notifications.subscribe(/start_processing\.action_controller/, &method(:start_processing)) ActiveSupport::Notifications.subscribe(/process_action\.action_controller/, &method(:finalize_processing)) end |