Sha256: 38c33d2da711103249b08985960056c1e2f8c45acd56965a3eb9cd892be9b3b2

Contents?: true

Size: 658 Bytes

Versions: 20

Compression:

Stored size: 658 Bytes

Contents

require 'datadog/statsd'
require 'singleton'

module RooOnRails
  class Statsd
    include Singleton

    attr_reader :client

    def initialize
      @client = defined?(::STATSD) ? ::STATSD : ::Datadog::Statsd.new(host, port, tags: tags)
    end

    private

    def host
      ENV.fetch('STATSD_HOST', 'localhost')
    end

    def port
      ENV.fetch('STATSD_PORT', 8125)
    end

    def tags
      [
        "env:#{ENV.fetch('STATSD_ENV', 'unknown')}",
        "source:#{ENV.fetch('DYNO', 'unknown')}",
        "app:#{ENV.fetch('HEROKU_APP_NAME', 'unknown')}"
      ]
    end
  end

  def self.statsd
    RooOnRails::Statsd.instance.client
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
roo_on_rails-1.19.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.18.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.17.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.16.2 lib/roo_on_rails/statsd.rb
roo_on_rails-1.16.1 lib/roo_on_rails/statsd.rb
roo_on_rails-1.16.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.15.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.14.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.13.1 lib/roo_on_rails/statsd.rb
roo_on_rails-1.13.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.12.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.11.1 lib/roo_on_rails/statsd.rb
roo_on_rails-1.11.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.10.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.9.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.8.1 lib/roo_on_rails/statsd.rb
roo_on_rails-1.8.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.7.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.6.0 lib/roo_on_rails/statsd.rb
roo_on_rails-1.5.0 lib/roo_on_rails/statsd.rb