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
-
.reset_runtime ⇒ Integer
Reset the runtime value to zero the current thread.
-
.runtime ⇒ Integer
Get the runtime value on the current thread.
-
.runtime=(value) ⇒ Integer
Set the runtime value on the current thread.
Instance Method Summary collapse
-
#_completed(e) ⇒ Integer
(also: #succeeded, #failed)
Call when event completed.
-
#started(_) ⇒ nil
Call when event started.
Class Method Details
.reset_runtime ⇒ Integer
Reset the runtime value to zero the current thread.
96 97 98 99 100 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 96 def self.reset_runtime to_now = runtime self.runtime = 0 to_now end |
.runtime ⇒ Integer
Get the runtime value on the current thread.
80 81 82 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 80 def self.runtime Thread.current[VARIABLE_NAME] ||= 0 end |
.runtime=(value) ⇒ Integer
Set the runtime value on the current thread.
89 90 91 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 89 def self.runtime= value Thread.current[VARIABLE_NAME] = value end |
Instance Method Details
#_completed(e) ⇒ Integer Also known as: succeeded, failed
Call when event completed. Updates the runtime value.
71 72 73 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 71 def _completed e Collector.runtime += e.duration * 1000 end |
#started(_) ⇒ nil
Call when event started. Does nothing.
64 |
# File 'lib/mongoid/railties/controller_runtime.rb', line 64 def started _; end |