Class: ArgScanner::TypeTrackerPerformanceMonitor

Inherits:
Object
  • Object
show all
Defined in:
lib/arg_scanner/type_tracker.rb

Instance Method Summary collapse

Constructor Details

#initializeTypeTrackerPerformanceMonitor

Returns a new instance of TypeTrackerPerformanceMonitor.



11
12
13
14
15
16
17
18
# File 'lib/arg_scanner/type_tracker.rb', line 11

def initialize
  @enable_debug = ENV["ARG_SCANNER_DEBUG"]
  @call_counter = 0
  @handled_call_counter = 0
  @submitted_call_counter = 0
  @old_handled_call_counter = 0
  @time = Time.now
end

Instance Method Details

#on_callObject



21
22
23
# File 'lib/arg_scanner/type_tracker.rb', line 21

def on_call
  @submitted_call_counter += 1
end

#on_handled_returnObject



36
37
38
# File 'lib/arg_scanner/type_tracker.rb', line 36

def on_handled_return
  @handled_call_counter += 1
end

#on_returnObject



25
26
27
28
29
30
31
32
33
34
# File 'lib/arg_scanner/type_tracker.rb', line 25

def on_return
  @call_counter += 1

  if enable_debug && call_counter % 100000 == 0
    $stderr.puts("calls #{call_counter} handled #{handled_call_counter} submitted #{}"\
                 "delta  #{handled_call_counter - old_handled_call_counter} time #{Time.now - @time}")
    @old_handled_call_counter = handled_call_counter
    @time = Time.now
  end
end