Sha256: 78351a0bb68764d50d0def759ccb234ab18f63cafb2f9e5f94e634fd2f344cd6
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
module RestFtpDaemon # Worker used to report metrics to various services class ReporterWorker < Shared::WorkerBase protected def worker_init # Load corker conf config_section :reporter # Check that everything is OK return "invalid timer" unless @config[:timer].to_i > 0 return false end def worker_after # Sleep for a few seconds worker_status WORKER_STATUS_WAITING sleep @config[:timer] end def worker_process # Announce we are working worker_status WORKER_STATUS_REPORTING # Report metrics do_metrics rescue StandardError => e log_error "EXCEPTION: #{e.inspect}" sleep 1 end private def do_metrics # Get common metrics and dump them to logs metrics = Metrics.sample log_info "collected metrics", metrics # Transpose metrics to NewRelic metrics report_newrelic(metrics) if Conf.newrelic_enabled? end def report_newrelic metrics metrics_newrelic = {} metrics.each do |group, pairs| pairs.each do |key, value| name = "rftpd/#{group}/#{key}" ::NewRelic::Agent.record_metric(name, value) metrics_newrelic[name] = value end end # Don't dump metrics unless we're debugging metrics_newrelic = nil unless @config[:debug] newrelic_app_name = ENV["NEW_RELIC_APP_NAME"] log_debug "reported metrics to NewRelic [#{newrelic_app_name}]", metrics_newrelic end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rest-ftp-daemon-0.302.3 | lib/rest-ftp-daemon/workers/reporter.rb |