Module: Metrics
- Extended by:
- StatsdApi
- Defined in:
- lib/metrics.rb,
lib/metrics/handler.rb,
lib/metrics/railtie.rb,
lib/metrics/grouping.rb,
lib/metrics/statsd_api.rb,
lib/metrics/instrumenter.rb,
lib/metrics/configuration.rb,
lib/metrics/instrumentable.rb,
lib/metrics/middleware_helpers.rb
Defined Under Namespace
Modules: Drivers, Helpers, Instrumentable, MiddlewareHelpers, StatsdApi Classes: Configuration, Grouping, Handler, Instrumenter, Railtie
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.group(namespace = nil, options = {}, &block) ⇒ Object
Public: Group multiple instruments.
-
.instrument(*args, &block) ⇒ Object
Public: Instrument a metric.
- .subscribe ⇒ Object
Methods included from StatsdApi
count, decrement, gauge, histogram, increment, time, timing
Class Method Details
.configuration ⇒ Object
80 81 82 |
# File 'lib/metrics.rb', line 80 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
84 85 86 |
# File 'lib/metrics.rb', line 84 def configure yield configuration end |
.group(namespace = nil, options = {}, &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.
71 72 73 74 |
# File 'lib/metrics.rb', line 71 def group(namespace = nil, = {}, &block) instrumenters = Grouping.instrument(namespace, &block) Handler.handle(*instrumenters) 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 the return value of the block.
51 52 53 |
# File 'lib/metrics.rb', line 51 def instrument(*args, &block) Handler.handle(Instrumenter.instrument(*args, &block)) end |
.subscribe ⇒ Object
76 77 78 |
# File 'lib/metrics.rb', line 76 def subscribe $stderr.puts "Metrics#subscribe is deprecated and will be removed in 1.0." end |