module OpenTelemetry::Adapters::Sinatra::Extensions::TracerExtension
Sinatra
extension that installs TracerMiddleware and provides tracing for template rendering
Public Class Methods
registered(app)
click to toggle source
Sinatra
hook after extension is registered
# File lib/opentelemetry/adapters/sinatra/extensions/tracer_extension.rb, line 17 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::Adapter.instance.tracer.in_span( 'sinatra.render_template', attributes: { 'sinatra.template_name' => template_name.to_s } ) do super end end end app.use Middlewares::TracerMiddleware end
Public Instance Methods
render(_engine, data, *)
click to toggle source
Calls superclass method
# File lib/opentelemetry/adapters/sinatra/extensions/tracer_extension.rb, line 20 def render(_engine, data, *) template_name = data.is_a?(Symbol) ? data : :literal Sinatra::Adapter.instance.tracer.in_span( 'sinatra.render_template', attributes: { 'sinatra.template_name' => template_name.to_s } ) do super end end