Module: Multimeter::Metrics
- Defined in:
- lib/multimeter.rb
Defined Under Namespace
Modules: Dsl
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(m) ⇒ Object
159 160 161 |
# File 'lib/multimeter.rb', line 159 def self.included(m) m.extend(Dsl) end |
Instance Method Details
#initialize(*args) ⇒ Object
163 164 165 166 167 168 169 170 171 172 |
# File 'lib/multimeter.rb', line 163 def initialize(*args) super self.class.instance_gauges.each do |name, block| instance_block = proc { instance_exec(&block) } multimeter_registry.gauge(name, &instance_block) end self.class.instance_metrics.each do |type, name, | multimeter_registry.send(type, name, ) end end |
#multimeter_registry ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/multimeter.rb', line 174 def multimeter_registry registry_mode = self.class.send(:registry_mode) case registry_mode when :instance, :linked_instance @multimeter_registry ||= begin package, _, class_name = self.class.name.rpartition('::') group = self.class.send(:group) || package scope = self.class.send(:scope) || class_name if (iid_proc = self.class.send(:instance_id)) instance_id = instance_exec(&iid_proc) else instance_id = self.object_id end if registry_mode == :linked_instance ::Multimeter.global_registry.sub_registry(scope, instance_id) else ::Multimeter.registry(group, scope, instance_id) end end when :global ::Multimeter.global_registry else self.class.multimeter_registry end end |