Class: Rack::Bug::SpeedTrace::TraceRecord

Inherits:
Object
  • Object
show all
Includes:
Render
Defined in:
lib/rack/bug/speedtracer/tracer.rb

Direct Known Subclasses

ServerEvent, Tracer

Instance Method Summary collapse

Methods included from Render

#compiled_source

Constructor Details

#initialize(id) ⇒ TraceRecord

Returns a new instance of TraceRecord.



7
8
9
10
11
# File 'lib/rack/bug/speedtracer/tracer.rb', line 7

def initialize(id)
  @id = id
  @start = Time.now
  @children = []
end

Instance Method Details

#durationObject



21
22
23
# File 'lib/rack/bug/speedtracer/tracer.rb', line 21

def duration
  ((@finish - @start) * 1000).to_i
end

#finishObject



13
# File 'lib/rack/bug/speedtracer/tracer.rb', line 13

def finish; @finish = Time.now; end

#time_in_childrenObject



15
16
17
18
19
# File 'lib/rack/bug/speedtracer/tracer.rb', line 15

def time_in_children
  @children.inject(0) do |time, child|
    time + child.duration
  end
end

#to_jsonObject



25
26
27
# File 'lib/rack/bug/speedtracer/tracer.rb', line 25

def to_json
  Yajl::Encoder.encode(hash_representation, :pretty => true, :indent => '  ')
end