Module: ServerMonitorModule
- Included in:
- DangoServerFramework
- Defined in:
- lib/dango/monitor/server_monitor_module.rb
Overview
メインモジュール(drbで呼び出す用)
Instance Method Summary collapse
-
#_monitor_get_server_info(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:サーバーからクライアントへのデータ送信.
-
#_monitor_get_session_list(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:session_listの取得.
-
#_monitor_get_shared(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:shareの取得 key value.
-
#_monitor_get_socket_list(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:socket_listの取得.
-
#_monitor_mutex_status(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:排他処理一覧.
-
#_monitor_send_system_message(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:接続者全員へメッセージ送信.
-
#_monitor_server_reload(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:サーバーデータ再読み込み.
-
#_monitor_thread_status(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:スレッド一覧.
-
#_monitor_write_shared(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:shareの強制書き換え key value.
Instance Method Details
#_monitor_get_server_info(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:サーバーからクライアントへのデータ送信
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 10 def _monitor_get_server_info(ret_obj) logger.debug "_monitor_get_server_info" get_server_info = { 'server_start_time' => start_time.strftime("%Y-%m-%d %H:%M:%S"), 'up_time' => Time.now - start_time, 'recv_count' => recv_count, # 受信回数 'send_count' => send_count, # 送信回数 'recv_fail_count' => recv_fail_count, # 受信失敗回数 'send_fail_count' => send_fail_count, # 送信失敗回数 # 'log_level' => log_level_str, # 'log_file' => log_file, # 'log_max_size' => log_max_size, # 'log_shift_age' => log_shift_age, } get_server_info end |
#_monitor_get_session_list(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:session_listの取得
117 118 119 120 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 117 def _monitor_get_session_list(ret_obj) logger.debug "_monitor_get_session_list:#{ret_obj.inspect}" session_list end |
#_monitor_get_shared(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:shareの取得 key value
101 102 103 104 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 101 def _monitor_get_shared(ret_obj) logger.debug "_monitor_get_shared:ret_obj=#{ret_obj.inspect}" shared.to_hash end |
#_monitor_get_socket_list(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:socket_listの取得
123 124 125 126 127 128 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 123 def _monitor_get_socket_list(ret_obj) logger.debug "_monitor_get_socket_list:#{ret_obj.inspect}" ret = {} socket_list.all_sid.each{|sid| ret[sid] = socket_list[sid].object_id} ret end |
#_monitor_mutex_status(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:排他処理一覧
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 68 def _monitor_mutex_status(ret_obj) logger.debug "_monitor_mutex_status" ret = [] ObjectSpace.each_object(DangoMutex) do |object| ret.push({ :name => object.mutex_name, :is_lock => object.locked?, }) end # mutex_list = [ # [:mutex_send_response, @mutex_send_response], # [:mutex_send_notice , @mutex_send_notice], # [:mutex_proc_thread , @mutex_proc_thread], # [:mutex_send_response, @mutex_send_response], # ] # @mutex_sock.each do |key, value| # mutex_list.push(["mutex_sock #{key}", value]) # end # # mutex_list.each do |name, mutex| # ret.push({ # :name => name.to_s, # :is_lock => mutex.locked?, # }) # end ret end |
#_monitor_send_system_message(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:接続者全員へメッセージ送信
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 39 def (ret_obj) logger.debug "_monitor_send_system_message" # 全員へ_notice_system_messageを通知 socket_list.all_sid.each do |sid| next if session[:sid] == sid send_obj = { "message" => ret_obj["message"] } send_notice('_notice_system_message', sid, send_obj) end true end |
#_monitor_server_reload(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:サーバーデータ再読み込み
32 33 34 35 36 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 32 def _monitor_server_reload(ret_obj) logger.debug "_monitor_server_reload" @server_reload = true true end |
#_monitor_thread_status(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:スレッド一覧
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 53 def _monitor_thread_status(ret_obj) logger.debug "_monitor_thread_status" ret = [] Thread.list.each do |th| ret.push({ :object_id => th.object_id, :name => th[:_name] ? th[:_name] : "unknown(maybe drb thread)", }) end ret end |
#_monitor_write_shared(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:shareの強制書き換え key value
108 109 110 111 112 113 114 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 108 def _monitor_write_shared(ret_obj) logger.debug "_monitor_write_shared:ret_obj=#{ret_obj.inspect}" logger.debug "_monitor_write_shared:value=#{eval(ret_obj['value']).inspect}" shared[ret_obj["key"]] = eval(ret_obj['value']) true end |