Class: Mongoid::Railties::ControllerRuntime::Collector

Inherits:
Object
  • Object
show all
Defined in:
build/mongoid-7.3/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

Class Method Details

.reset_runtimeObject



79
80
81
82
83
# File 'build/mongoid-7.3/lib/mongoid/railties/controller_runtime.rb', line 79

def self.reset_runtime
  to_now = runtime
  self.runtime = 0
  to_now
end

.runtimeObject



71
72
73
# File 'build/mongoid-7.3/lib/mongoid/railties/controller_runtime.rb', line 71

def self.runtime
  Thread.current[VARIABLE_NAME] ||= 0
end

.runtime=(value) ⇒ Object



75
76
77
# File 'build/mongoid-7.3/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 'build/mongoid-7.3/lib/mongoid/railties/controller_runtime.rb', line 65

def _completed e
  Collector.runtime += e.duration
end

#started(_) ⇒ Object



63
# File 'build/mongoid-7.3/lib/mongoid/railties/controller_runtime.rb', line 63

def started _; end