Kouhei Sutou
null+****@clear*****
Wed Jul 23 13:11:17 JST 2014
Kouhei Sutou 2014-07-23 13:11:17 +0900 (Wed, 23 Jul 2014) New Revision: 45fcc63bdc86e4c1f0954f154e6cc584e885ad02 https://github.com/groonga/groonga-query-log/commit/45fcc63bdc86e4c1f0954f154e6cc584e885ad02 Message: analyzer: move Statistic -> Hash converter to Statistic Modified files: lib/groonga/query-log/analyzer/reporter/json.rb lib/groonga/query-log/analyzer/statistic.rb Modified: lib/groonga/query-log/analyzer/reporter/json.rb (+1 -27) =================================================================== --- lib/groonga/query-log/analyzer/reporter/json.rb 2014-07-23 13:06:08 +0900 (f17fcf8) +++ lib/groonga/query-log/analyzer/reporter/json.rb 2014-07-23 13:11:17 +0900 (2c9e1c4) @@ -46,33 +46,7 @@ module Groonga private def format_statistic(statistic) - data = { - "start_time" => statistic.start_time.to_i, - "last_time" => statistic.last_time.to_i, - "elapsed" => statistic.elapsed_in_seconds, - "return_code" => statistic.return_code, - "slow" => statistic.slow?, - } - command = statistic.command - arguments = command.arguments.collect do |key, value| - {"key" => key, "value" => value} - end - data["command"] = { - "raw" => statistic.raw_command, - "name" => command.name, - "parameters" => arguments, - } - operations = [] - statistic.each_operation do |operation| - operation_data = {} - operation_data["name"] = operation[:name] - operation_data["relative_elapsed"] = operation[:relative_elapsed_in_seconds] - operation_data["context"] = operation[:context] - operation_data["slow"] = operation[:slow?] - operations << operation_data - end - data["operations"] = operations - JSON.generate(data) + JSON.generate(statistic.to_hash) end end end Modified: lib/groonga/query-log/analyzer/statistic.rb (+29 -0) =================================================================== --- lib/groonga/query-log/analyzer/statistic.rb 2014-07-23 13:06:08 +0900 (2e46f6a) +++ lib/groonga/query-log/analyzer/statistic.rb 2014-07-23 13:11:17 +0900 (071a87e) @@ -118,6 +118,35 @@ module Groonga command.name == "select" end + def to_hash + data = { + "start_time" => start_time.to_i, + "last_time" => last_time.to_i, + "elapsed" => elapsed_in_seconds, + "return_code" => return_code, + "slow" => slow?, + } + arguments = command.arguments.collect do |key, value| + {"key" => key, "value" => value} + end + data["command"] = { + "raw" => raw_command, + "name" => command.name, + "parameters" => arguments, + } + operations = [] + each_operation do |operation| + operation_data = {} + operation_data["name"] = operation[:name] + operation_data["relative_elapsed"] = operation[:relative_elapsed_in_seconds] + operation_data["context"] = operation[:context] + operation_data["slow"] = operation[:slow?] + operations << operation_data + end + data["operations"] = operations + data + end + private def nano_seconds_to_seconds(nano_seconds) nano_seconds / 1000.0 / 1000.0 / 1000.0 -------------- next part -------------- HTML����������������������������...Download