lib/metricsd.rb in metricsd-0.1.0 vs lib/metricsd.rb in metricsd-0.2.0

- old
+ new

@@ -1,61 +1,99 @@ require 'socket' require 'logger' require 'benchmark' +# Pure Ruby client library for MetricsD server. module Metricsd class << self + # Gets the MetricsD server host. Default is "127.0.0.1". def server_host @@server_host end + # Sets the MetricsD server host. def server_host=(host) @@server_host = host Client.reset_connection! end + # Gets the MetricsD server port. Default is 6311. def server_port @@server_port end + # Sets the MetricsD server port. def server_port=(port) @@server_port = Integer(port) Client.reset_connection! end + # Get the value indicating whether Metricsd is enabled. + def enabled? + !!@@enabled + end + alias :enabled :enabled? + + # Sets the value indicating whether Metricsd is enabled. + def enabled=(enabled) + @@enabled = !!enabled + end + + # Enables Metricsd client. + def enable! + @@enabled = true + end + + # Disables Metricsd client. + def disable! + @@enabled = false + end + + # Gets the source used to record host-specific metrics. Default is the + # first part of the hostname (e.g. "test" for "test.host.com"). def source @@source || metricsd.default_source end + # Sets the source for host-specific metrics. def source=(source) @@source = source end + # Gets the default source for all metrics. If nil or empty string — all + # metrics will be host-specific (MetricsD server will generate per-host + # graphs in addition to summary graph for all hosts for each metric). + # Default is "all". def default_source @@default_source end + # Sets the default source for all metrics. def default_source=(source) @@default_source = source end + # Gets the logger used to output errors or warnings. def logger @@logger ||= if defined?(Rails) Rails.logger elsif defined?(Loops) Loops.logger else Logger.new(STDOUT) end end + # Sets the logger used to output errors or warnings. def logger=(logger) @@logger = logger end + # Resets all values to their default state (mostly for testing purpose). def reset_defaults! @@server_host = '127.0.0.1' @@server_port = 6311 + @@enabled = true @@source = Socket.gethostname[/^([^.]+)/, 1] @@default_source = 'all' @@logger = nil end end