Class: Mongoid::Railties::ControllerRuntime::Collector
- Inherits:
-
Object
- Object
- Mongoid::Railties::ControllerRuntime::Collector
- Defined in:
- lib/mongoid/railties/controller_runtime.rb
Overview
The Collector of MongoDB runtime metric, that subscribes to Mongo driver command monitoring. Stores the value within a thread-local variable to provide correct accounting when an application issues MongoDB operations from background threads.
Constant Summary collapse
- VARIABLE_NAME =
"Mongoid.controller_runtime".freeze
Class Method Summary collapse
Instance Method Summary collapse
- #_completed(e) ⇒ Object (also: #succeeded, #failed)
- #started(_) ⇒ Object
Class Method Details
.reset_runtime ⇒ Object
79 80 81 82 83 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 79 def self.reset_runtime to_now = runtime self.runtime = 0 to_now end |
.runtime ⇒ Object
71 72 73 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 71 def self.runtime Thread.current[VARIABLE_NAME] ||= 0 end |
.runtime=(value) ⇒ Object
75 76 77 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 75 def self.runtime= value Thread.current[VARIABLE_NAME] = value end |
Instance Method Details
#_completed(e) ⇒ Object Also known as: succeeded, failed
65 66 67 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 65 def _completed e Collector.runtime += e.duration end |
#started(_) ⇒ Object
63 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 63 def started _; end |