def stop(state, end_time, outermost_frame)
return if !state.is_execution_traced?
freeze_name_and_execute_if_not_ignored
ignore! if user_defined_rules_ignore?
if @has_children
name = Transaction.nested_transaction_name(outermost_frame.name)
trace_options = TRACE_OPTIONS_SCOPED
else
name = @frozen_name
trace_options = TRACE_OPTIONS_UNSCOPED
end
if needs_middleware_summary_metrics?(name)
summary_metrics_with_exclusive_time = MIDDLEWARE_SUMMARY_METRICS
else
summary_metrics_with_exclusive_time = EMPTY_SUMMARY_METRICS
end
NewRelic::Agent::MethodTracerHelpers.trace_execution_scoped_footer(
state,
start_time.to_f,
name,
summary_metrics_with_exclusive_time,
outermost_frame,
trace_options,
end_time.to_f)
NewRelic::Agent::BusyCalculator.dispatcher_finish(end_time)
commit!(state, end_time, name) unless @ignore_this_transaction
end