Sha256: e6a9f78dfc41a8ab8e33bdd057eaee88445c4c56b84c8731049388d025302534

Contents?: true

Size: 1.28 KB

Versions: 293

Compression:

Stored size: 1.28 KB

Contents

# encoding: utf-8
if ($DEBUGLIST || []).include?("require")
  ROOT = File.dirname(__FILE__)
  module Kernel
    alias_method :require_debug, :require

    def require(path)
      start = Time.now
      result = require_debug(path)
      duration = Time.now - start

      origin = caller[1]
      if origin =~ /rubygems\/custom_require/
        origin = caller[3]
        if origin.nil?
          STDERR.puts "Unknown origin"
          STDERR.puts caller.join("\n")
        end
      end
      origin = origin.gsub(/:[0-9]+:in .*/, "") if origin

      # Only print require() calls that did actual work.
      # require() returns true on load, false if already loaded.
      if result
        source = caller[0]
        #p source.include?("/lib/polyglot.rb:63:in `require'") => source
        if source.include?("/lib/polyglot.rb:63:in `require'")
          source = caller[1]
        end

        #target = $LOADED_FEATURES.grep(/#{path}/).first
        #puts path
        #puts caller.map { |c| "  #{c}" }.join("\n")
        #fontsize = [10, duration * 48].max
        puts "#{duration},#{path},#{source}"
      end
      #puts caller.map { |c| " => #{c}" }.join("\n")
    end

    alias_method :load_debug, :load

    def load(path)
      puts "load(\"#{path}\")"
      return load_debug(path)
    end
  end
end

Version data entries

293 entries across 284 versions & 17 rubygems

Version Path
logstash-core-5.6.15-java lib/logstash/patches/profile_require_calls.rb
logstash-core-7.0.0.beta1-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.6.0-java lib/logstash/patches/profile_require_calls.rb
logstash-core-7.0.0.alpha2-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.5.4-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.5.3-java lib/logstash/patches/profile_require_calls.rb
logstash-core-5.6.14-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.5.2-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.5.1-java lib/logstash/patches/profile_require_calls.rb
logstash-core-7.0.0.alpha1-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.5.0-java lib/logstash/patches/profile_require_calls.rb
logstash-core-5.6.13-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.4.3-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.4.2-java lib/logstash/patches/profile_require_calls.rb
logstash-core-5.6.12-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.4.1-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.4.0-java lib/logstash/patches/profile_require_calls.rb
logstash-core-5.6.11-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.3.2-java lib/logstash/patches/profile_require_calls.rb
logstash-core-6.3.1-java lib/logstash/patches/profile_require_calls.rb