class Dread::Trace
Attributes
cpu[R]
data[R]
function[R]
line[R]
pid[R]
task[R]
timestamp[R]
Public Class Methods
new(line)
click to toggle source
# File lib/dread/trace.rb, line 12 def initialize(line) @line = line @task = '' @pid = 0 @cpu = 0 @timestamp = 0 @function = '' @data = '' parse! end
Public Instance Methods
to_s()
click to toggle source
# File lib/dread/trace.rb, line 24 def to_s "#{'%.9f' % timestamp}: #{task}-#{pid} [#{cpu}] #{function}: #{data}" end
Protected Instance Methods
parse!()
click to toggle source
# File lib/dread/trace.rb, line 30 def parse! md = @line.match(re) raise "Can't parse '#{@line}'" unless md @cpu = md[:cpu].to_i @data = md[:data] @function = md[:function] @pid = md[:pid].to_i @task = md[:task] @timestamp = md[:timestamp].to_f end
re()
click to toggle source
# File lib/dread/trace.rb, line 43 def re /(?<task>[a-z0-9\/-]+)-(?<pid>\d+)\s+\[(?<cpu>\d+)\]\s+....\s+(?<timestamp>[0-9.]+):\s+(?<function>\w+):\s+(?<data>.*)$/ end