class Chronometer::TraceEvent

Attributes

args[R]
category[R]
cls[R]
duration[R]
event_type[R]
method[R]
name[R]
process_id[R]
start_time_usec[R]
sub_slices[R]
thread_id[R]

Public Class Methods

new(process_id: nil, thread_id: nil, start_time_usec: nil, event_type: nil, name: nil, args: nil, category: nil, duration: nil, cls: nil, method: nil, sub_slices: []) click to toggle source
# File lib/chronometer/trace_event.rb, line 7
def initialize(process_id: nil, thread_id: nil, start_time_usec: nil, event_type: nil, name: nil, args: nil, category: nil, duration: nil, cls: nil, method: nil, sub_slices: [])
  @process_id = process_id
  @thread_id = thread_id
  @start_time_usec = start_time_usec
  @event_type = event_type
  @name = name
  @args = args
  @category = category
  @duration = duration
  @cls = cls
  @method = method
  @sub_slices = sub_slices
end

Public Instance Methods

compact_hash(hash) click to toggle source
# File lib/chronometer/trace_event.rb, line 39
def compact_hash(hash)
  hash.compact
end
self_time() click to toggle source
# File lib/chronometer/trace_event.rb, line 34
def self_time
  sub_slices.reduce(duration) { |a, e| a - e.duration }
end
to_h() click to toggle source
# File lib/chronometer/trace_event.rb, line 21
def to_h
  compact_hash(
    pid: process_id,
    tid: thread_id,
    ts: start_time_usec,
    ph: event_type,
    name: name,
    args: args,
    cat: category,
    dur: duration
  )
end