class RbLineProfFormat
Formatting a profile as JSON may eventually be provided by rblineprof.
Public Class Methods
profile_to_json(profile_data, profile_start)
click to toggle source
# File lib/pilfer/server.rb, line 74 def self.profile_to_json(profile_data, profile_start) files = profile_data.each_with_object({}) do |(file, lines), files| profile_lines = lines[1..-1]. each_with_index. each_with_object({}) do |(data, number), inner_lines| next unless data.any? {|datum| datum > 0 } wall_time, cpu_time, calls = data inner_lines[number] = { 'wall_time' => wall_time, 'cpu_time' => cpu_time, 'calls' => calls } end total, child, exclusive, total_cpu, child_cpu, exclusive_cpu = lines[0] files[file] = { 'total' => total, 'child' => child, 'exclusive' => exclusive, 'total_cpu' => total_cpu, 'child_cpu' => child_cpu, 'exclusive_cpu' => exclusive_cpu, 'lines' => profile_lines } end { 'profile' => { 'timestamp' => profile_start.to_i, 'files' => files } } end