module CodeTools::Profiler::RequireProfiler

Attributes

depth[RW]
stats[RW]

Private Class Methods

profile(file) { || ... } click to toggle source
# File tools/profile, line 90
def profile(file)
  stats << [file, depth]
  self.depth += 1
  result = nil
  elapsed = Benchmark.realtime { result = yield }
  self.depth -= 1
  stats.pop if stats.last.first == file
  stats << [file, depth, elapsed] if result
  result
end

Private Instance Methods

load(file, *args) click to toggle source
Calls superclass method
# File tools/profile, line 83
def load(file, *args) RequireProfiler.profile(file) { super } end
require(file, *args) click to toggle source
Calls superclass method
# File tools/profile, line 82
def require(file, *args) RequireProfiler.profile(file) { super } end