class SimpleApm::Redis
Public Class Methods
clear_data(date_str)
click to toggle source
# File lib/simple_apm/redis.rb, line 52 def clear_data(date_str) return {success: false, msg: '当日没有数据'} unless in_apm_days.include?(date_str) keys = SimpleApm::Redis.keys("#{date_str}:*") {success: true, msg: SimpleApm::Redis.del(keys)} end
clear_data_before_time(date)
click to toggle source
清理指定日期之前的数据
# File lib/simple_apm/redis.rb, line 44 def clear_data_before_time(date) i = 0 SimpleApm::Redis.in_apm_days.each do |d| SimpleApm::Redis.clear_data(d) and i+=1 if Time.parse(d) <= date end i end
in_apm_days()
click to toggle source
所有统计的日期,通过hits来判断
# File lib/simple_apm/redis.rb, line 39 def in_apm_days SimpleApm::Redis.keys('*:action-names').map{|x|x.split(':').first}.sort.reverse end
instance()
click to toggle source
# File lib/simple_apm/redis.rb, line 7 def instance @current ||= ::Redis::Namespace.new( "simple_apm:#{SimpleApm::Setting::APP_NAME}", :redis => ::Redis.new( url: SimpleApm::Setting::REDIS_URL, driver: SimpleApm::Setting::REDIS_DRIVER ) ) end
method_missing(method, *args)
click to toggle source
Calls superclass method
# File lib/simple_apm/redis.rb, line 73 def method_missing(method, *args) instance.send(method, *args) rescue NoMethodError super(method, *args) end
rerun!()
click to toggle source
# File lib/simple_apm/redis.rb, line 64 def rerun! hset('status', 'running', true) end
running?()
click to toggle source
# File lib/simple_apm/redis.rb, line 58 def running? hget('status','running').to_s != 'false' rescue false end
simple_info()
click to toggle source
# File lib/simple_apm/redis.rb, line 18 def simple_info h = {} redis.info.each do |k, v| if k == 'total_system_memory_human' h['系统内存'] = v elsif k == 'used_memory_human' h['当前内存占用'] = v elsif k == 'used_memory_rss_human' h['当前内存占用(rss)'] = v elsif k == 'used_memory_peak_human' h['占用内存峰值'] = v elsif k == 'redis_version' h['redis版本'] = v elsif k =~ /db[0-9]+/ h[k] = v end end h end
stop!()
click to toggle source
停止收集数据
# File lib/simple_apm/redis.rb, line 69 def stop! hset('status', 'running', false) end