module StatsD::Instrument::Helpers

Public Instance Methods

capture_statsd_calls(client: nil, &block)

For backwards compatibility

capture_statsd_datagrams(client: nil, &block) click to toggle source
# File lib/statsd/instrument/helpers.rb, line 4
def capture_statsd_datagrams(client: nil, &block)
  client ||= StatsD.singleton_client
  case client
  when StatsD.legacy_singleton_client
    capture_statsd_metrics_on_legacy_client(&block)
  when StatsD::Instrument::Client
    client.capture(&block)
  else
    raise ArgumentError, "Don't know how to capture StatsD datagrams from #{client.inspect}!"
  end
end
Also aliased as: capture_statsd_calls
capture_statsd_metrics_on_legacy_client(&block) click to toggle source
# File lib/statsd/instrument/helpers.rb, line 19
def capture_statsd_metrics_on_legacy_client(&block)
  capture_backend = StatsD::Instrument::Backends::CaptureBackend.new
  with_capture_backend(capture_backend, &block)
  capture_backend.collected_metrics
end

Private Instance Methods

with_capture_backend(backend) { || ... } click to toggle source
# File lib/statsd/instrument/helpers.rb, line 27
def with_capture_backend(backend)
  if StatsD.legacy_singleton_client.backend.is_a?(StatsD::Instrument::Backends::CaptureBackend)
    backend.parent = StatsD.legacy_singleton_client.backend
  end

  old_backend = StatsD.legacy_singleton_client.backend
  begin
    StatsD.legacy_singleton_client.backend = backend
    yield
  ensure
    StatsD.legacy_singleton_client.backend = old_backend
  end
end