[Groonga-commit] droonga/droonga-engine at 200426c [master] Output more trace logs for debugging

Back to archive index

YUKI Hiroshi null+****@clear*****
Fri Mar 27 19:46:29 JST 2015


YUKI Hiroshi	2015-03-27 19:46:29 +0900 (Fri, 27 Mar 2015)

  New Revision: 200426c0c0712b480cea43ae8f272e29ad0b3980
  https://github.com/droonga/droonga-engine/commit/200426c0c0712b480cea43ae8f272e29ad0b3980

  Message:
    Output more trace logs for debugging

  Modified files:
    lib/droonga/command/droonga_engine.rb
    lib/droonga/process_supervisor.rb

  Modified: lib/droonga/command/droonga_engine.rb (+37 -1)
===================================================================
--- lib/droonga/command/droonga_engine.rb    2015-03-27 17:51:08 +0900 (57f401d)
+++ lib/droonga/command/droonga_engine.rb    2015-03-27 19:46:29 +0900 (bb97578)
@@ -409,8 +409,10 @@ module Droonga
         end
 
         def run_internal
+          logger.trace("run_internal: start")
           start_serf
           @serf_agent.on_ready = lambda do
+            logger.trace("run_internal: serf agent is ready")
             @serf.update_cluster_state
             @service_runner = run_service
             setup_initial_on_ready
@@ -427,7 +429,9 @@ module Droonga
             sleep 1
           end
 
-          @service_runner.success?
+          succeeded = @service_runner.success?
+          logger.trace("run_internal: done")
+          succeeded
         end
 
         def setup_initial_on_ready
@@ -464,12 +468,17 @@ module Droonga
         end
 
         def stop_gracefully
+          logger.trace("stop_gracefully: start")
           @command_runner.stop
+          logger.trace("stop_gracefully: stopping cluster_state_observer")
           @cluster_state_observer.stop
+          logger.trace("stop_gracefully: stopping catalog_observer")
           @catalog_observer.stop
+          logger.trace("stop_gracefully: stopping restart_observer")
           @restart_observer.stop
           stop_serf
           @service_runner.stop_gracefully
+          logger.trace("stop_gracefully: done")
         end
 
         def stop_immediately
@@ -482,17 +491,21 @@ module Droonga
         end
 
         def restart_graceful
+          logger.trace("restart_graceful: start")
           old_service_runner = @service_runner
           reopen_log_file
           @service_runner = run_service
           @service_runner.on_ready = lambda do
+            logger.info("restart_graceful: new service runner is ready")
             @service_runner.on_failure = nil
             old_service_runner.stop_gracefully
           end
           @service_runner.on_failure = lambda do
+            logger.info("restart_graceful: failed to setup new service runner")
             @service_runner.on_failure = nil
             @service_runner = old_service_runner
           end
+          logger.trace("restart_graceful: done")
         end
 
         def restart_immediately
@@ -503,6 +516,7 @@ module Droonga
         end
 
         def restart_self
+          logger.trace("restart_self: start")
           old_pid_file_path = Pathname.new("#{@pid_file_path}.old")
           FileUtils.mv(@pid_file_path.to_s, old_pid_file_path.to_s)
           @pid_file_path = old_pid_file_path
@@ -510,6 +524,7 @@ module Droonga
 
           engine_runner = EngineRunner.new(@configuration)
           engine_runner.run
+          logger.trace("restart_self: done")
         end
 
         def run_service
@@ -524,12 +539,14 @@ module Droonga
         end
 
         def stop_serf
+          logger.trace("stop_serf: start")
           begin
             @serf.leave
           rescue Droonga::Serf::Command::Failure
             logger.error("Failed to leave from Serf cluster: #{$!.message}")
           end
           @serf_agent.stop
+          logger.trace("stop_serf: done")
         end
 
         def run_restart_observer
@@ -607,6 +624,7 @@ module Droonga
       end
 
       class ServiceRunner
+        include Loggable
         include Deferrable
 
         def initialize(raw_loop, configuration)
@@ -646,11 +664,15 @@ module Droonga
         end
 
         def stop_gracefully
+          logger.trace("stop_gracefully: start")
           @supervisor.stop_gracefully
+          logger.trace("stop_gracefully: done")
         end
 
         def stop_immediately
+          logger.trace("stop_immediately: start")
           @supervisor.stop_immediately
+          logger.trace("stop_immediately: done")
         end
 
         def success?
@@ -675,9 +697,15 @@ module Droonga
           @supervisor.stop
           on_failure unless success?
         end
+
+        def log_tag
+          "service_runner"
+        end
       end
 
       class CommandRunner
+        include Loggable
+
         attr_writer :on_command
         def initialize(loop)
           @loop = loop
@@ -686,6 +714,7 @@ module Droonga
         end
 
         def start
+          logger.trace("stert: stert")
           @async_watcher = Coolio::AsyncWatcher.new
           on_signal = lambda do
             commands =****@comma*****
@@ -699,12 +728,15 @@ module Droonga
             on_signal.call
           end
           @loop.attach(@async_watcher)
+          logger.trace("stert: done")
         end
 
         def stop
           return if @async_watcher.nil?
+          logger.trace("stop: stert")
           @async_watcher.detach
           @async_watcher = nil
+          logger.trace("stop: done")
         end
 
         def push_command(command)
@@ -713,6 +745,10 @@ module Droonga
           @commands << command
           @async_watcher.signal if first_command_p
         end
+
+        def log_tag
+          "command_runner"
+        end
       end
     end
   end

  Modified: lib/droonga/process_supervisor.rb (+10 -0)
===================================================================
--- lib/droonga/process_supervisor.rb    2015-03-27 17:51:08 +0900 (751d3ae)
+++ lib/droonga/process_supervisor.rb    2015-03-27 19:46:29 +0900 (9d21af6)
@@ -15,12 +15,14 @@
 
 require "coolio"
 
+require "droonga/loggable"
 require "droonga/deferrable"
 require "droonga/process_control_protocol"
 require "droonga/line_buffer"
 
 module Droonga
   class ProcessSupervisor
+    include Loggable
     include Deferrable
     include ProcessControlProtocol
 
@@ -43,11 +45,15 @@ module Droonga
     end
 
     def stop_gracefully
+      logger.trace("stop_gracefully: start")
       @output.write(Messages::STOP_GRACEFUL)
+      logger.trace("stop_gracefully: done")
     end
 
     def stop_immediately
+      logger.trace("stop_immediately: start")
       @output.write(Messages::STOP_IMMEDIATELY)
+      logger.trace("stop_immediately: done")
     end
 
     private
@@ -77,5 +83,9 @@ module Droonga
     def on_finish
       @on_finish.call if @on_finish
     end
+
+    def log_tag
+      "process_supervisor"
+    end
   end
 end
-------------- next part --------------
HTML����������������������������...
Download 



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