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