Sha256: 20f5a9ec6cf3e4b19971c6abd5fc85d2c3d6a8aec785033a426a0b423de8e537
Contents?: true
Size: 1.1 KB
Versions: 26
Compression:
Stored size: 1.1 KB
Contents
module RestFtpDaemon class Metrics 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 # Collect: workers by status def self.workers_count_by_status # Init counts = {} RestFtpDaemon::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 end end
Version data entries
26 entries across 26 versions & 1 rubygems