class NewRelic::Agent::Instrumentation::ControllerInstrumentation::TransactionNamer
@!parse extend ClassMethods
Public Class Methods
Source
# File lib/new_relic/agent/instrumentation/controller_instrumentation.rb, line 274 def self.class_name(traced_obj, options = {}) return options[:class_name] if options[:class_name] if traced_obj.is_a?(Class) || traced_obj.is_a?(Module) traced_obj.name else traced_obj.class.name end end
Source
# File lib/new_relic/agent/instrumentation/controller_instrumentation.rb, line 230 def self.name_for(txn, traced_obj, category, options = {}) return options[:transaction_name] if options[:transaction_name] "#{prefix_for_category(txn, category)}#{path_name(traced_obj, options)}" end
Source
# File lib/new_relic/agent/instrumentation/controller_instrumentation.rb, line 257 def self.path_name(traced_obj, options = {}) return options[:path] if options[:path] class_name = class_name(traced_obj, options) if options[:name] if class_name "#{class_name}/#{options[:name]}" else options[:name] end elsif traced_obj.respond_to?(:newrelic_metric_path) traced_obj.newrelic_metric_path else class_name end end
Source
# File lib/new_relic/agent/instrumentation/controller_instrumentation.rb, line 236 def self.prefix_for_category(txn, category = nil) # the following line needs else branch coverage category ||= (txn && txn.category) # rubocop:disable Style/SafeNavigation case category when :controller then ::NewRelic::Agent::Transaction::CONTROLLER_PREFIX when :web then ::NewRelic::Agent::Transaction::CONTROLLER_PREFIX when :task then ::NewRelic::Agent::Transaction::TASK_PREFIX when :background then ::NewRelic::Agent::Transaction::TASK_PREFIX when :rack then ::NewRelic::Agent::Transaction::RACK_PREFIX when :uri then ::NewRelic::Agent::Transaction::CONTROLLER_PREFIX when :roda then ::NewRelic::Agent::Transaction::RODA_PREFIX when :sinatra then ::NewRelic::Agent::Transaction::SINATRA_PREFIX when :middleware then ::NewRelic::Agent::Transaction::MIDDLEWARE_PREFIX when :grape then ::NewRelic::Agent::Transaction::GRAPE_PREFIX when :rake then ::NewRelic::Agent::Transaction::RAKE_PREFIX when :action_cable then ::NewRelic::Agent::Transaction::ACTION_CABLE_PREFIX when :message then ::NewRelic::Agent::Transaction::MESSAGE_PREFIX else "#{category.to_s}/" # for internal use only end end