Sha256: 598dcd60f23d674b42390c3bcaebb8a88bf32b92f5d8ed485df123aca863d676

Contents?: true

Size: 792 Bytes

Versions: 1

Compression:

Stored size: 792 Bytes

Contents

# frozen_string_literal: true

require_relative 'connection'

module Datadog
  class Statsd
    class UDPConnection < Connection
      DEFAULT_HOST = '127.0.0.1'
      DEFAULT_PORT = 8125

      # StatsD host. Defaults to 127.0.0.1.
      attr_reader :host

      # StatsD port. Defaults to 8125.
      attr_reader :port

      def initialize(host, port, logger, telemetry)
        super(telemetry)
        @host = host || ENV.fetch('DD_AGENT_HOST', DEFAULT_HOST)
        @port = port || ENV.fetch('DD_DOGSTATSD_PORT', DEFAULT_PORT)
        @logger = logger
      end

      private

      def connect
        UDPSocket.new.tap do |socket|
          socket.connect(host, port)
        end
      end

      def send_message(message)
        socket.send(message, 0)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dogstatsd-ruby-4.7.0 lib/datadog/statsd/udp_connection.rb