[Groonga-commit] droonga/fluent-plugin-droonga at 40270d8 [master] Add trace logs to searcher

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Oct 31 12:21:53 JST 2013


Kouhei Sutou	2013-10-31 12:21:53 +0900 (Thu, 31 Oct 2013)

  New Revision: 40270d8884fdf742a7438c82e8f2272d6f29591b
  https://github.com/droonga/fluent-plugin-droonga/commit/40270d8884fdf742a7438c82e8f2272d6f29591b

  Message:
    Add trace logs to searcher

  Modified files:
    lib/droonga/searcher.rb

  Modified: lib/droonga/searcher.rb (+27 -3)
===================================================================
--- lib/droonga/searcher.rb    2013-10-31 12:10:30 +0900 (1a46b2e)
+++ lib/droonga/searcher.rb    2013-10-31 12:21:53 +0900 (365cd7e)
@@ -38,35 +38,59 @@ module Droonga
 
     def search(queries)
       outputs = nil
+      $log.trace("#{log_tag}: search: start", :queries => queries)
       @context.push_memory_pool do
         outputs = process_queries(queries)
       end
+      $log.trace("#{log_tag}: search: done")
       return outputs
     end
 
     private
     def process_queries(queries)
-      return {} unless queries
+      $log.trace("#{log_tag}: process_queries: start")
+      unless queries
+        $log.trace("#{log_tag}: process_queries: done")
+        return {}
+      end
+      $log.trace("#{log_tag}: process_queries: sort: start")
       query_sorter = QuerySorter.new
       queries.each do |name, query|
         query_sorter.add(name, [query["source"]])
       end
+      sorted_queries = query_sorter.tsort
+      $log.trace("#{log_tag}: process_queries: sort: done")
       outputs = {}
       results = {}
-      query_sorter.tsort.each do |name|
+      sorted_queries.each do |name|
         if queries[name]
+          $log.trace("#{log_tag}: process_queries: search: start",
+                     :name => name)
           searcher = QuerySearcher.new(@context, queries[name])
           results[name] = searcher.search(results)
-          outputs[name] = searcher.format if searcher.need_output?
+          $log.trace("#{log_tag}: process_queries: search: done",
+                     :name => name)
+          if searcher.need_output?
+            $log.trace("#{log_tag}: process_queries: format: start",
+                       :name => name)
+            outputs[name] = searcher.format
+            $log.trace("#{log_tag}: process_queries: format: done",
+                       :name => name)
+          end
         elsif @context[name]
           results[name] = @context[name]
         else
           raise UndefinedSourceError.new(name)
         end
       end
+      $log.trace("#{log_tag}: process_queries: done")
       return outputs
     end
 
+    def log_tag
+      "[#{Process.ppid}][#{Process.pid}] searcher"
+    end
+
     class QuerySorter
       include TSort
       def initialize()
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index