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

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



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

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

.runtimeObject



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

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

.runtime=(value) ⇒ Object



74
75
76
# File 'build/mongoid-8.1/lib/mongoid/railties/controller_runtime.rb', line 74

def self.runtime= value
  Thread.current[VARIABLE_NAME] = value
end

Instance Method Details

#_completed(e) ⇒ Object Also known as: succeeded, failed



64
65
66
# File 'build/mongoid-8.1/lib/mongoid/railties/controller_runtime.rb', line 64

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

#started(_) ⇒ Object



62
# File 'build/mongoid-8.1/lib/mongoid/railties/controller_runtime.rb', line 62

def started _; end