Class: HeimdallApm::Visitors::PrettyPrintVisitor

Inherits:
Object
  • Object
show all
Defined in:
lib/heimdall_apm/visitors/pretty_print_visitor.rb

Instance Method Summary collapse

Constructor Details

#initialize(scope) ⇒ PrettyPrintVisitor

Returns a new instance of PrettyPrintVisitor.



4
5
6
7
8
9
10
11
12
# 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

Instance Method Details

#after_childrenObject



18
19
20
# File 'lib/heimdall_apm/visitors/pretty_print_visitor.rb', line 18

def after_children
  @indent -= 2
end

#before_childrenObject



14
15
16
# File 'lib/heimdall_apm/visitors/pretty_print_visitor.rb', line 14

def before_children
  @indent += 2
end

#store_in_vaultObject



29
30
31
# File 'lib/heimdall_apm/visitors/pretty_print_visitor.rb', line 29

def store_in_vault
  @io.flush
end

#visit(segment) ⇒ Object



22
23
24
25
26
27
# 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