Sha256: 3f79632967a16b0d64ad1e78be0c18c73e25a00e006322ce09ac2db1477e5a5c

Contents?: true

Size: 1.44 KB

Versions: 19

Compression:

Stored size: 1.44 KB

Contents

# Measures MongoDB requests time and adds it to log

if defined?(Rails) and RAILS_ENV == 'development'
  Mongo::Connection.class_eval do  
    def send_message_with_time operation, message, log_message=nil
      begin
        logger = @logger
        @logger = nil      
        t = Time.now
        send_message_without_time operation, message, log_message
      ensure
        logger.debug("  MONGODB (#{Time.now - t}) #{log_message || message}") if logger
        @logger = logger
      end
    end
    alias_method_chain :send_message, :time
  
    def send_message_with_safe_check_with_time operation, message, db_name, log_message=nil    
      begin
        logger = @logger
        @logger = nil      
        t = Time.now
        send_message_with_safe_check_without_time operation, message, db_name, log_message
      ensure
        logger.debug("  MONGODB (#{Time.now - t}) #{log_message || message}") if logger
        @logger = logger
      end
    end
    alias_method_chain :send_message_with_safe_check, :time
  
    def receive_message_with_time operation, message, log_message=nil, socket=nil
      begin
        logger = @logger
        @logger = nil      
        t = Time.now
        receive_message_without_time operation, message, log_message, socket
      ensure
        logger.debug("  MONGODB (#{Time.now - t}) #{log_message || message}") if logger
        @logger = logger
      end
    end
    alias_method_chain :receive_message, :time
  end
end

Version data entries

19 entries across 19 versions & 3 rubygems

Version Path
mongo_mapper_ext-0.2.2 lib/mongo_mapper_ext/hacks/time_measuring.rb
mongo_mapper_ext-0.1.1 lib/mongo_mapper_ext/hacks/time_measuring.rb
mongo_mapper_ext-0.1.0 lib/mongo_mapper_ext/hacks/time_measuring.rb
mongo_mapper_ext-0.0.1 lib/mongo_mapper_ext/hacks/time_measuring.rb
crystal-ext-0.0.3 lib/mongo_mapper_ext/hacks/time_measuring.rb
crystal-ext-0.0.2 lib/mongo_mapper_ext/hacks/time_measuring.rb
crystal-ext-0.0.1 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.29 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.28 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.27 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.25 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.24 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.23 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.22 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.21 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.20 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.19 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.18 lib/mongo_mapper_ext/hacks/time_measuring.rb
rails-ext-0.3.17 lib/mongo_mapper_ext/hacks/time_measuring.rb