class Roma::Stats
Attributes
address[RW]
command options
clean_up_interval[RW]
config_path[RW]
environment options
daemon[RW]
dcnice[RW]
delete_count[RW]
disabled_cmd_protect[RW]
enabled_repetition_host_in_routing[RW]
enabled_vnodes_balance[RW]
proc mode
gui_last_snapshot[RW]
gui_run_gather_logs[RW]
gui_run_snapshot[RW]
for GUI tool
hilatency_warn_time[RW]
join_ap[RW]
last_clean_up[RW]
latency_check_cmd[RW]
latency_check_time_count[RW]
latency_data[RW]
latency_log[RW]
for latency average check
log_level[RW]
log_shift_age[RW]
log_shift_size[RW]
for log
name[RW]
out_count[RW]
out_message_count[RW]
port[RW]
command options
read_count[RW]
redundant_count[RW]
rep_host[RW]
reqpushv_timeout_count[RW]
routing_trans_timeout[RW]
run_balance[RW]
run_iterate_storage[RW]
run_join[RW]
run_receive_a_vnode[RW]
run_recover[RW]
proc status
run_release[RW]
run_storage_clean_up[RW]
run_sync_routing[RW]
size_of_zredundant[RW]
compressed redundant param
spushv_klength_warn[RW]
for vnode copy parameter
spushv_protection[RW]
spushv_read_timeout[RW]
spushv_vlength_warn[RW]
start_with_failover[RW]
stream_copy_wait_param[RW]
proc param
stream_show_wait_param[RW]
verbose[RW]
wb_command_map[RW]
for write behind
write_count[RW]
performance counter
Public Class Methods
new()
click to toggle source
# File lib/roma/stats.rb 85 def initialize 86 @config_path = nil 87 @run_recover = false 88 @run_sync_routing = false 89 @run_iterate_storage = false 90 @run_storage_clean_up = false 91 @run_receive_a_vnode = {} 92 @run_release = false 93 @run_join = false 94 @run_balance = false 95 @gui_run_snapshot = false 96 @gui_run_gather_logs = false 97 @last_clean_up = Time.now 98 @gui_last_snapshot = [] 99 @spushv_protection = false 100 @stream_copy_wait_param = 0.0001 101 @stream_show_wait_param = 0.001 102 @dcnice = 3 103 @clean_up_interval = 300 104 @enabled_vnodes_balance = nil 105 @write_count = 0 106 @read_count = 0 107 @delete_count = 0 108 @out_count = 0 109 @out_message_count = 0 110 @redundant_count = 0 111 @size_of_zredundant = 0 112 @hilatency_warn_time = 5.0 113 @wb_command_map = {} 114 @latency_log = false 115 @latency_check_cmd =["get", "set", "delete"] 116 @latency_check_time_count = false 117 @latency_data = Hash.new { |hash,key| hash[key] = {} } #double hash 118 @spushv_klength_warn = 1024 # 1kB 119 @spushv_vlength_warn = 1024 * 1024 # 1MB 120 @spushv_read_timeout = 100 121 @reqpushv_timeout_count = 300 # 0.1 * 300 sec 122 @routing_trans_timeout = 3600 * 3 # 3hr 123 @log_shift_size = 1048576 124 @log_shift_age = 0 125 @log_level = :debug 126 end
Public Instance Methods
ap_str()
click to toggle source
# File lib/roma/stats.rb 128 def ap_str 129 "#{@address}_#{port}" 130 end
clear_counters()
click to toggle source
# File lib/roma/stats.rb 180 def clear_counters 181 clear_count(:@write_count) 182 clear_count(:@read_count) 183 clear_count(:@delete_count) 184 clear_count(:@out_count) 185 clear_count(:@out_message_count) 186 clear_count(:@redundant_count) 187 end
do_clean_up?()
click to toggle source
# File lib/roma/stats.rb 189 def do_clean_up? 190 @last_clean_up.to_i + @clean_up_interval < Time.now.to_i 191 end
get_stat()
click to toggle source
# File lib/roma/stats.rb 132 def get_stat 133 ret = {} 134 ret['stats.config_path'] = @config_path 135 ret['stats.address'] = @address 136 ret['stats.port'] = @port 137 ret['stats.daemon'] = @daemon 138 ret['stats.name'] = @name 139 ret['stats.verbose'] = @verbose 140 ret['stats.enabled_repetition_host_in_routing'] = rep_host 141 ret['stats.run_recover'] = @run_recover 142 ret['stats.run_sync_routing'] = @run_sync_routing 143 ret['stats.run_iterate_storage'] = @run_iterate_storage 144 ret['stats.run_storage_clean_up'] = @run_storage_clean_up 145 ret['stats.run_receive_a_vnode'] = @run_receive_a_vnode.inspect 146 ret['stats.run_release'] = @run_release 147 ret['stats.run_join'] = @run_join 148 ret['stats.run_balance'] = @run_balance 149 ret['stats.gui_run_snapshot'] = @gui_run_snapshot 150 ret['stats.last_clean_up'] = @last_clean_up 151 ret['stats.gui_last_snapshot'] = @gui_last_snapshot 152 ret['stats.spushv_protection'] = @spushv_protection 153 ret['stats.stream_copy_wait_param'] = @stream_copy_wait_param 154 ret['stats.stream_show_wait_param'] = @stream_show_wait_param 155 ret['stats.dcnice'] = @dcnice 156 ret['stats.clean_up_interval'] = @clean_up_interval 157 ret['stats.size_of_zredundant'] = @size_of_zredundant 158 ret['stats.write_count'] = @write_count 159 ret['stats.read_count'] = @read_count 160 ret['stats.delete_count'] = @delete_count 161 ret['stats.out_count'] = @out_count 162 ret['stats.out_message_count'] = @out_message_count 163 ret['stats.redundant_count'] = @redundant_count 164 ret['stats.hilatency_warn_time'] = @hilatency_warn_time 165 ret['stats.wb_command_map'] = @wb_command_map.inspect 166 ret['stats.latency_log'] = @latency_log 167 ret['stats.latency_check_cmd'] = @latency_check_cmd 168 ret['stats.latency_check_time_count'] = @latency_check_time_count 169 ret['stats.spushv_klength_warn'] = @spushv_klength_warn 170 ret['stats.spushv_vlength_warn'] = @spushv_vlength_warn 171 ret['stats.spushv_read_timeout'] = @spushv_read_timeout 172 ret['stats.reqpushv_timeout_count'] = @reqpushv_timeout_count 173 ret['stats.routing_trans_timeout'] = @routing_trans_timeout 174 ret['stats.log_shift_size'] = @log_shift_size 175 ret['stats.log_shift_age'] = @log_shift_age 176 ret['stats.log_level'] = @log_level 177 ret 178 end
Private Instance Methods
clear_count(var)
click to toggle source
# File lib/roma/stats.rb 195 def clear_count(var) 196 if self.instance_variable_get(var) > 0xffffffff 197 self.instance_variable_set(var,0) 198 end 199 end