Module: AppPerfRpm::Instruments::Sinatra::Base

Defined in:
lib/app_perf_rpm/instruments/sinatra.rb

Instance Method Summary collapse

Instance Method Details

#dispatch_with_traceObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/app_perf_rpm/instruments/sinatra.rb', line 7

def dispatch_with_trace
  if ::AppPerfRpm::Tracer.tracing?
    operation = "#{self.class}##{env["PATH_INFO"]}"
    span = ::AppPerfRpm.tracer.start_span(operation, tags: {
      component: "Sinatra"
    })
    AppPerfRpm::Utils.log_source_and_backtrace(span, :sinatra)
  end

  dispatch_without_trace
rescue Exception => e
  if span
    span.set_tag('error', true)
    span.log_error(e)
  end
  raise
ensure
  span.finish if span
end

#handle_exception_with_trace(boom) ⇒ Object



27
28
29
# File 'lib/app_perf_rpm/instruments/sinatra.rb', line 27

def handle_exception_with_trace(boom)
  handle_exception_without_trace(boom)
end