class Statsby::Client
Use a Statsby::Client
to send metrics to a StatsD server
Attributes
metrics_writer[RW]
Public Class Methods
new( metrics_writer: UDPMetricsWriter.new, tags: {}, tags_enabled: true )
click to toggle source
# File lib/statsby/client.rb, line 8 def initialize( metrics_writer: UDPMetricsWriter.new, tags: {}, tags_enabled: true ) self.metrics_writer = metrics_writer self.tags = Statsby::TagSet.from_hash(tags) self.tags_enabled = tags_enabled end
Public Instance Methods
counter(metric_name, value, local_tags = {})
click to toggle source
# File lib/statsby/client.rb, line 22 def counter(metric_name, value, local_tags = {}) send_message(format_message(metric_name, value, 'c', local_tags)) end
format_message(metric_name, value, type, message_tags = {})
click to toggle source
# File lib/statsby/client.rb, line 43 def format_message(metric_name, value, type, message_tags = {}) "#{metric_name}#{format_tags(message_tags)}:#{value}|#{type}" end
gauge(metric_name, value, local_tags = {})
click to toggle source
# File lib/statsby/client.rb, line 26 def gauge(metric_name, value, local_tags = {}) send_message(format_message(metric_name, value, 'g', local_tags)) end
send_message(message)
click to toggle source
# File lib/statsby/client.rb, line 18 def send_message(message) metrics_writer.write(message) end
set(metric_name, value, local_tags = {})
click to toggle source
# File lib/statsby/client.rb, line 34 def set(metric_name, value, local_tags = {}) send_message(format_message(metric_name, value, 's', local_tags)) end
subcontext(tags = {})
click to toggle source
# File lib/statsby/client.rb, line 47 def subcontext(tags = {}) Statsby::Context.new(self, tags) end
timing(metric_name, value, local_tags = {})
click to toggle source
# File lib/statsby/client.rb, line 30 def timing(metric_name, value, local_tags = {}) send_message(format_message(metric_name, value, 'ms', local_tags)) end