Class: AppPerfRpm::Backtrace
- Inherits:
-
Object
- Object
- AppPerfRpm::Backtrace
- Defined in:
- lib/app_perf_rpm/backtrace.rb
Class Method Summary collapse
- .backtrace ⇒ Object
- .clean(backtrace) ⇒ Object
-
.source_extract(_backtrace = Kernel.caller(0)) ⇒ Object
{ code: source_fragment(file, line_number), line_number: line_number } else nil end end.
- .source_to_hash(file, line_number) ⇒ Object
Class Method Details
.backtrace ⇒ Object
4 5 6 7 8 |
# File 'lib/app_perf_rpm/backtrace.rb', line 4 def backtrace bt = Kernel.caller bt = clean(bt) trim_backtrace(bt) end |
.clean(backtrace) ⇒ Object
10 11 12 13 14 |
# File 'lib/app_perf_rpm/backtrace.rb', line 10 def clean(backtrace) backtrace .map {|b| clean_line(b) } .select {|b| b !~ %r{lib/app_perf_rpm} } end |
.source_extract(_backtrace = Kernel.caller(0)) ⇒ Object
{
code: source_fragment(file, line_number),
line_number: line_number
}
else
nil
end
end
29 30 31 32 33 34 |
# File 'lib/app_perf_rpm/backtrace.rb', line 29 def source_extract(_backtrace = Kernel.caller(0)) Array(_backtrace).select {|bt| bt[/^#{::AppPerfRpm.configuration.app_root.to_s}\//] }.map do |trace| file, line_number = extract_file_and_line_number(trace) source_to_hash(file, line_number) end end |
.source_to_hash(file, line_number) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/app_perf_rpm/backtrace.rb', line 36 def source_to_hash(file, line_number) { "file" => clean_line(file), "code" => source_fragment(file, line_number), "line_number" => line_number } end |