[Groonga-commit] groonga/groonga [master] [query-log][analyzer] add --order option.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 5月 31日 (火) 11:38:57 JST


Kouhei Sutou	2011-05-31 02:38:57 +0000 (Tue, 31 May 2011)

  New Revision: 11cb2be4f387caff3dc7865c95d60d53416426a1

  Log:
    [query-log][analyzer] add --order option.

  Modified files:
    tools/groonga-analyze-query-log.rb

  Modified: tools/groonga-analyze-query-log.rb (+21 -2)
===================================================================
--- tools/groonga-analyze-query-log.rb    2011-05-31 02:34:23 +0000 (5ab0142)
+++ tools/groonga-analyze-query-log.rb    2011-05-31 02:38:57 +0000 (ff44b92)
@@ -6,6 +6,7 @@ require 'optparse'
 
 options = OpenStruct.new
 options.n_entries = 10
+options.order = "-elapsed"
 
 option_parser = OptionParser.new do |parser|
   parser.banner += " LOG1 ..."
@@ -16,6 +17,15 @@ option_parser = OptionParser.new do |parser|
             "(#{options.n_entries})") do |n|
     options.n_entries = n
   end
+
+  available_orders = ["elapsed", "-elapsed", "start-time", "-start-time"]
+  parser.on("--order=ORDER",
+            available_orders,
+            "Sort by ORDER",
+            "available values: [#{available_orders.join(', ')}]",
+            "(#{options.order})") do |order|
+    options.order = order
+  end
 end
 
 option_parser.parse!(ARGV)
@@ -122,7 +132,7 @@ class QueryLogReporter
   attr_accessor :n_entries
   def initialize(statistics)
     @statistics = statistics
-    @order = :elapsed
+    @order = "-elapsed"
     @n_entries = 10
     @sorted_statistics = nil
   end
@@ -147,10 +157,18 @@ class QueryLogReporter
   private
   def sorter
     case @order
-    when :elapsed
+    when "elapsed"
       lambda do |statistic|
         -statistic.elapsed
       end
+    when "-elapsed"
+      lambda do |statistic|
+        -statistic.elapsed
+      end
+    when "-start-time"
+      lambda do |statistic|
+        -statistic.start_time
+      end
     else
       lambda do |statistic|
         statistic.start_time
@@ -176,5 +194,6 @@ parser = QueryLogParser.new
 parser.parse(ARGF)
 
 reporter = ConsoleQueryLogReporter.new(parser.statistics)
+reporter.order = options.order
 reporter.n_entries = options.n_entries
 reporter.report




Groonga-commit メーリングリストの案内
Back to archive index