module Telltale
Public Class Methods
client()
click to toggle source
# File lib/telltale.rb, line 34 def client OpenTSDB::Client.new(hostname: opentsdb_host, port: opentsdb_port) end
configure_request_instrumentation()
click to toggle source
# File lib/telltale.rb, line 15 def configure_request_instrumentation ActiveSupport::Notifications.subscribe 'process_action.action_controller' do |_name, started, finished, _unique_id, payload| next unless report? client.put Telltale::Data.compile(started, finished, payload) end end
opentsdb_host()
click to toggle source
# File lib/telltale.rb, line 30 def opentsdb_host ENV['TELLTALE_OPENTSDB_HOST'] end
opentsdb_port()
click to toggle source
# File lib/telltale.rb, line 26 def opentsdb_port ENV['TELLTALE_OPENTSDB_PORT'] || 4242 end
report?()
click to toggle source
# File lib/telltale.rb, line 22 def report? opentsdb_host.present? && !Rails.env.test? end
setup!()
click to toggle source
# File lib/telltale.rb, line 6 def setup! if report? configure_request_instrumentation Rails.logger.info "Telltale started, will report to #{opentsdb_host} on port #{opentsdb_port}" else Rails.logger.error 'TELLTALE_OPENTSDB_HOST not set. Telltale will not report to OpenTSDB.' end end