class HeimdallApm::Visitors::PrettyPrintVisitor

Public Class Methods

new(scope) click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 4
def initialize(scope)
  @indent = 0
  @scope  = scope

  @io     = File.open('log/heimdall_apm.log', 'ab')
  at_exit { @io.close }

  pprint("Request #{@scope}:\n")
end

Public Instance Methods

after_children() click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 18
def after_children
  @indent -= 2
end
before_children() click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 14
def before_children
  @indent += 2
end
store_in_vault() click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 29
def store_in_vault
  @io.flush
end
visit(segment) click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 22
def visit(segment)
  pprint("#{segment.type}/#{segment.name}\n")
  @indent += 2
  pprint("duration=#{segment.total_exclusive_time}ms\n")
  @indent -= 2
end

Private Instance Methods

pprint(str) click to toggle source
# File lib/heimdall_apm/visitors/pretty_print_visitor.rb, line 35
def pprint(str)
  @io.write(' ' * @indent) if @indent > 0
  @io.write(str)
end