class RailsMiniProfiler::Tracing::Tracer

Public Class Methods

new(event) click to toggle source
# File lib/rails_mini_profiler/tracing/tracer.rb, line 6
def initialize(event)
  @event = event_data(event)
end

Public Instance Methods

trace() click to toggle source
# File lib/rails_mini_profiler/tracing/tracer.rb, line 10
def trace
  Trace.new(**@event)
end

Private Instance Methods

event_data(event) click to toggle source
# File lib/rails_mini_profiler/tracing/tracer.rb, line 16
def event_data(event)
  start = (event.time.to_f * 100_000).to_i
  finish = (event.end.to_f * 100_000).to_i
  {
    name: event.name,
    start: start,
    finish: finish,
    duration: finish - start,
    allocations: event.allocations,
    backtrace: Rails.backtrace_cleaner.clean(caller),
    payload: event.payload
  }
end