class Wavefront::Writer::Socket
Everything specific to writing points to a Unix datagram socket.
Public Instance Methods
close()
click to toggle source
# File lib/wavefront-sdk/writers/socket.rb, line 27 def close return if opts[:noop] logger.log('Closing socket connection.', :debug) conn.close end
open()
click to toggle source
Make a connection to a Unix datagram socket, putting the descriptor in instance variable @conn. This requires the name of the socket file in creds @return [UnixSocket]
# File lib/wavefront-sdk/writers/socket.rb, line 17 def open if opts[:noop] logger.log('No-op requested. Not opening socket connection.') return true end logger.log("Connecting to #{creds[:socket]}.", :debug) open_socket(creds[:socket]) end
validate_credentials(creds)
click to toggle source
# File lib/wavefront-sdk/writers/socket.rb, line 34 def validate_credentials(creds) return true if creds.key?(:socket) && creds[:socket] raise(Wavefront::Exception::CredentialError, 'credentials must contain socket file path') end
Private Instance Methods
_send_point(point)
click to toggle source
@param point [String] point or points in native Wavefront
format.
# File lib/wavefront-sdk/writers/socket.rb, line 52 def _send_point(point) return if opts[:noop] conn.write(point) end
open_socket(socket)
click to toggle source
# File lib/wavefront-sdk/writers/socket.rb, line 43 def open_socket(socket) @conn = UNIXSocket.new(socket) rescue StandardError => e logger.log(e, :error) raise Wavefront::Exception::InvalidEndpoint end