lib/instana/frameworks/cuba.rb in instana-1.193.2 vs lib/instana/frameworks/cuba.rb in instana-1.193.3.pre1

- old
+ new

@@ -1,39 +1,32 @@ require "instana/rack" module Instana module CubaPathTemplateExtractor REPLACE_TARGET = /:(?<term>[^\/]+)/i - + def self.prepended(base) ::Instana.logger.debug "#{base} prepended #{self}" end - - def on(*args, &blk) + + def on(*args, &blk) wrapper = lambda do |*caputres| env['INSTANA_PATH_TEMPLATE_FRAGMENTS'] << args .select { |a| a.is_a?(String) } .join('/') - + blk.call(*captures) end - + super(*args, &wrapper) end - + def call!(env) env['INSTANA_PATH_TEMPLATE_FRAGMENTS'] = [] response = super(env) env['INSTANA_HTTP_PATH_TEMPLATE'] = env['INSTANA_PATH_TEMPLATE_FRAGMENTS'] .join('/') .gsub(REPLACE_TARGET, '{\k<term>}') response end end -end - - -if defined?(::Cuba) - ::Instana.logger.debug "Instrumenting Cuba" - Cuba.use ::Instana::Rack - Cuba.prepend ::Instana::CubaPathTemplateExtractor end