Module: Metrics
- Defined in:
- lib/metrics.rb,
lib/metrics/handler.rb,
lib/metrics/railtie.rb,
lib/metrics/grouping.rb,
lib/metrics/instrumenter.rb,
lib/metrics/configuration.rb,
lib/metrics/instrumentable.rb,
lib/metrics/middleware_helpers.rb
Defined Under Namespace
Modules: Formatters, Helpers, Instrumentable, MiddlewareHelpers Classes: Configuration, Grouping, Handler, Instrumenter, Railtie
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.group(*args, &block) ⇒ Object
Public: Group multiple instruments.
-
.instrument(*args, &block) ⇒ Object
Public: Instrument a metric.
- .subscribe ⇒ Object
Class Method Details
.configuration ⇒ Object
76 77 78 |
# File 'lib/metrics.rb', line 76 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
80 81 82 |
# File 'lib/metrics.rb', line 80 def configure yield configuration end |
.group(*args, &block) ⇒ Object
Public: Group multiple instruments.
Example
Metrics.group 'sidekiq' do |group|
group.instrument 'request.time' do
begin
@app.call(env)
rescue Exception => e
instrument 'exceptions', 1
raise
end
end
end
Returns nothing.
68 69 70 |
# File 'lib/metrics.rb', line 68 def group(*args, &block) Handler.handle(Grouping.instrument(*args, &block)) end |
.instrument(*args, &block) ⇒ Object
Public: Instrument a metric.
Example
# Instrument the duration of an event.
Metrics.instrument 'rack.request' do
@app.call(env)
end
# Instrument a specific value.
Metrics.instrument 'workers.busy', 10, units: 'workers'
# Instrument something with a specific source.
Metrics.instrument 'sidekiq.queue', source: 'background' do
yield
end
Returns nothing.
48 49 50 |
# File 'lib/metrics.rb', line 48 def instrument(*args, &block) Handler.handle(Instrumenter.instrument(*args, &block)) end |
.subscribe ⇒ Object
72 73 74 |
# File 'lib/metrics.rb', line 72 def subscribe $stderr.puts "Metrics#subscribe is deprecated and will be removed in 1.0." end |