module Sinatra::Instrumentation
Constants
- VERSION
Public Class Methods
patch_render()
click to toggle source
# File lib/sinatra/instrumentation.rb, line 19 def patch_render ::Sinatra::Base.module_eval do alias_method :render_original, :render def render(engine, data, options = {}, locals = {}, &block) result = "" OpenTracing.global_tracer.start_active_span("sinatra.render", tags: {}) do |scope| result = render_original(engine, data, options, locals, &block) scope.span.set_tag("sinatra.template", data) end result end end end
registered(app)
click to toggle source
# File lib/sinatra/instrumentation.rb, line 11 def registered(app) # enable the Rack Tracer middleware app.use Rack::Tracer patch_render if !@patched @patched = true end
render(engine, data, options = {}, locals = {}, &block)
click to toggle source
# File lib/sinatra/instrumentation.rb, line 23 def render(engine, data, options = {}, locals = {}, &block) result = "" OpenTracing.global_tracer.start_active_span("sinatra.render", tags: {}) do |scope| result = render_original(engine, data, options, locals, &block) scope.span.set_tag("sinatra.template", data) end result end