module EpsagonTracerExtension
Sinatra extension for epsagon instrumentation
Public Class Methods
registered(app)
click to toggle source
Sinatra hook after extension is registered
# File lib/instrumentation/sinatra.rb, line 94 def self.registered(app) # Create tracing `render` method ::Sinatra::Base.module_eval do def render(_engine, data, *) template_name = data.is_a?(Symbol) ? data : :literal Sinatra::Instrumentation.instance.tracer.in_span( 'sinatra.render_template', attributes: { 'sinatra.template_name' => template_name.to_s } ) do super end end end app.use EpsagonTracerMiddleware end
Public Instance Methods
render(_engine, data, *)
click to toggle source
Calls superclass method
# File lib/instrumentation/sinatra.rb, line 97 def render(_engine, data, *) template_name = data.is_a?(Symbol) ? data : :literal Sinatra::Instrumentation.instance.tracer.in_span( 'sinatra.render_template', attributes: { 'sinatra.template_name' => template_name.to_s } ) do super end end