Module: Metrics

Defined in:
lib/metrics.rb,
lib/metrics/tags.rb,
lib/metrics/config.rb,
lib/metrics/metric.rb,
lib/metrics/backend.rb,
lib/metrics/version.rb,
lib/metrics/provider.rb,
lib/metrics/backend/test.rb,
lib/metrics/backend/capture.rb,
lib/metrics/backend/console.rb

Overview

Released under the MIT License. Copyright, 2021-2025, by Samuel Williams.

Defined Under Namespace

Modules: Backend, Provider, Tags Classes: Config, Metric

Constant Summary collapse

VERSION =
"0.15.0"

Class Method Summary collapse

Class Method Details

.enabled?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/metrics/provider.rb', line 10

def self.enabled?
  Backend.const_defined?(:Interface)
end

.Provider(klass, &block) ⇒ Object

Extend the specified class in order to emit traces.



29
30
31
32
33
34
35
36
37
# File 'lib/metrics/provider.rb', line 29

def self.Provider(klass, &block)
  klass.extend(Singleton)
  provider = klass.metrics_provider
  klass.prepend(provider)
  
  provider.module_exec(&block) if block_given?
  
  return provider
end