Class: Salus::CollectdRenderer
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- Salus::CollectdRenderer
- Defined in:
- lib/salus/renderer/collectd.rb
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ CollectdRenderer
constructor
A new instance of CollectdRenderer.
- #render(data) ⇒ Object
Methods inherited from BaseRenderer
descendants, inherited, #iterate
Methods included from Logging
Constructor Details
#initialize(opts = {}) ⇒ CollectdRenderer
Returns a new instance of CollectdRenderer.
3 4 5 6 |
# File 'lib/salus/renderer/collectd.rb', line 3 def initialize(opts={}) opts[:separator] = opts.fetch(:separator, '/') super(opts) end |
Instance Method Details
#render(data) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/salus/renderer/collectd.rb', line 8 def render(data) hostname = ENV.fetch('COLLECTD_HOSTNAME', 'localhost') = ENV.key?('COLLECTD_INTERVAL') ? "interval=#{ENV['COLLECTD_INTERVAL']} " : '' iterate(data) do |name, metric| # Text metrics are unsupported next if metric.is_a? Salus::Text unless metric..nil? # Effectively all salus metrics are gauges for collectd, with exception to text STDOUT.puts "PUTVAL #{hostname}#{@separator}#{name} #{}#{metric..to_i}:#{metric.value.nil? ? 'U' : metric.value}" end end end |