class RestFtpDaemon::Metrics
Public Class Methods
sample()
click to toggle source
# File lib/rest-ftp-daemon/metrics.rb, line 4 def self.sample # Prepare external deps mem = GetProcessMem.new # Build final value return { system: { uptime: (Time.now - Conf.app_started).round(1), memory: mem.bytes.to_i, threads: Thread.list.count, }, jobs_by_status: RestFtpDaemon::JobQueue.instance.jobs_by_status, rate_by_pool: RestFtpDaemon::JobQueue.instance.rate_by(:pool), rate_by_targethost: RestFtpDaemon::JobQueue.instance.rate_by(:targethost), queued_by_pool: RestFtpDaemon::JobQueue.instance.queued_by_pool, workers_by_status: self.workers_count_by_status, } end
Private Class Methods
workers_count_by_status()
click to toggle source
Collect: workers by status
# File lib/rest-ftp-daemon/metrics.rb, line 26 def self.workers_count_by_status # Init counts = {} WorkerPool.instance.worker_variables.group_by do |wid, vars| vars[:status] end.each do |status, workers| counts[status] = workers.count end # Return count counts end