# File lib/new_relic/agent/transaction.rb, line 521
      def commit!(state, end_time, outermost_node_name)
        assign_agent_attributes
        assign_intrinsics(state)

        @transaction_trace = transaction_sampler.on_finishing_transaction(state, self, end_time)
        sql_sampler.on_finishing_transaction(state, @frozen_name)

        record_summary_metrics(outermost_node_name, end_time)
        record_apdex(state, end_time) unless ignore_apdex?
        record_queue_time

        generate_payload(state, start_time, end_time)

        record_exceptions
        record_transaction_event

        merge_metrics
        send_transaction_finished_event
      end