Sha256: 7e47bf7e42e651d6faee1f02d8a4ed7048b7a0f34ddcd3300ad377a7d230bd99
Contents?: true
Size: 1.18 KB
Versions: 6
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true module StatsD::Instrument::Helpers 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 # For backwards compatibility alias_method :capture_statsd_calls, :capture_statsd_datagrams 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 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 end
Version data entries
6 entries across 6 versions & 1 rubygems