class TingYun::Agent::Collector::CpuSampler
Attributes
last_time[R]
Public Class Methods
new()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 15 def initialize @last_time = nil @processor_count = TingYun::Support::SystemInfo.num_logical_processors if @processor_count.nil? TingYun::Agent.logger.warn("Failed to determine processor count, assuming 1") @processor_count = 1 end poll end
Public Instance Methods
poll()
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 41 def poll now = Time.now t = Process.times if @last_time elapsed = now - @last_time return if elapsed < 1 # Causing some kind of math underflow usertime = t.utime - @last_utime if usertime >= 0 record_usertime(usertime) record_user_util((usertime * 100) / (elapsed * @processor_count)) end end @last_utime = t.utime @last_stime = t.stime @last_time = now end
record_system_util(value)
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 29 def record_system_util(value) TingYun::Agent.record_metric("CPU/System/Utilization", value) end
record_systemtime(value)
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 37 def record_systemtime(value) TingYun::Agent.record_metric("CPU/System Time", value) end
record_user_util(value)
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 25 def record_user_util(value) TingYun::Agent.record_metric("CPU/NULL/UserUtilization", value) end
record_usertime(value)
click to toggle source
# File lib/ting_yun/agent/collector/middle_ware_collector/cpu_sampler.rb, line 33 def record_usertime(value) TingYun::Agent.record_metric("CPU/NULL/UserTime", value) end