lib/one_apm/transaction.rb in oneapm_rpm-1.2.0 vs lib/one_apm/transaction.rb in oneapm_rpm-1.2.1.rc

- old
+ new

@@ -32,11 +32,12 @@ :exceptions, :filtered_params, :jruby_cpu_start, :process_cpu_start, :http_response_code, - :request + :request, + :ignore_frames attr_reader :database_metric_name, :guid, :metrics, :gc_start_snapshot, @@ -67,10 +68,11 @@ @cat_path_hashes = nil @ignore_this_transaction = false @ignore_apdex = false @ignore_enduser = false + @ignore_frames = options[:ignore_frames] || [] end def start(state) return if !state.is_execution_traced? @@ -94,10 +96,12 @@ else name = @frozen_name trace_options = TRACE_OPTIONS_UNSCOPED end + trace_options = TRACE_IGNORE_OPTIONS if !ignore_frames.empty? && ignore_frames.include?(outermost_frame.name) + # These metrics are recorded here instead of in record_summary_metrics # in order to capture the exclusive time associated with the outer-most # TT node. if needs_middleware_summary_metrics?(name) summary_metrics_with_exclusive_time = MIDDLEWARE_SUMMARY_METRICS @@ -229,10 +233,9 @@ def create_nested_frame(state, category, options) @has_children = true if options[:filtered_params] && !options[:filtered_params].empty? @filtered_params = options[:filtered_params] end - frame_stack.push OneApm::Support::MethodTracer::Helpers.trace_execution_scoped_header(state, Time.now.to_f) name_last_frame(options[:transaction_name]) set_default_transaction_name(options[:transaction_name], category) end