Method: Sentry::StacktraceBuilder#build

Defined in:
lib/sentry/interfaces/stacktrace_builder.rb

#build(backtrace:, &frame_callback) {|frame| ... } ⇒ StacktraceInterface

Generates a StacktraceInterface with the given backtrace. You can pass a block to customize/exclude frames:

Examples:

builder.build(backtrace) do |frame|
  if frame.module.match?(/a_gem/)
    nil
  else
    frame
  end
end

Parameters:

  • backtrace (Array<String>)
  • frame_callback (Proc)

Yield Parameters:

Returns:


66
67
68
69
70
71
72
73
74
75
76
# File 'lib/sentry/interfaces/stacktrace_builder.rb', line 66

def build(backtrace:, &frame_callback)
  parsed_lines = parse_backtrace_lines(backtrace).select(&:file)

  frames = parsed_lines.reverse.map do |line|
    frame = convert_parsed_line_into_frame(line)
    frame = frame_callback.call(frame) if frame_callback
    frame
  end.compact

  StacktraceInterface.new(frames: frames)
end