Module: ServerMonitorModule
- Included in:
- DangoServerFramework
- Defined in:
- lib/dango/monitor/server_monitor_module.rb
Overview
メインモジュール(drbで呼び出す用)
Instance Method Summary collapse
-
#_monitor_get_action_stat(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:action_statの取得.
-
#_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_action_stat(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:action_statの取得
119 120 121 122 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 119 def _monitor_get_action_stat(ret_obj) logger.debug "_monitor_get_action_stat:#{ret_obj.inspect}" @action_stat end |
#_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 30 31 32 33 34 |
# 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"), 'server_up_time' => Time.now - @start_time, 'server_version' => "#{Dango::VERSION::STRING} p#{Dango::VERSION::PATCH}(r#{RAILS_GEM_VERSION})", 'recv_count' => @recv_count, # 受信回数 'send_count' => @send_count, # 送信回数 'recv_fail_count' => @recv_fail_count, # 受信失敗回数 'send_fail_count' => @send_fail_count, # 送信失敗回数 'recv_byte' => @recv_byte, # 受信バイト数 'send_byte' => @send_byte, # 送信バイト数 'mutex_fail_count' => @mutex_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の取得
105 106 107 108 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 105 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
89 90 91 92 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 89 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の取得
111 112 113 114 115 116 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 111 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から呼ばれるメンテナンス:排他処理一覧
73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 73 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 ret end |
#_monitor_send_system_message(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:接続者全員へメッセージ送信
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 44 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から呼ばれるメンテナンス:サーバーデータ再読み込み
37 38 39 40 41 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 37 def _monitor_server_reload(ret_obj) logger.debug "_monitor_server_reload" @server_reload = true true end |
#_monitor_thread_status(ret_obj) ⇒ Object
drbから呼ばれるメンテナンス:スレッド一覧
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 58 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
96 97 98 99 100 101 102 |
# File 'lib/dango/monitor/server_monitor_module.rb', line 96 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 |