# File lib/new_relic/agent/cross_app_monitor.rb, line 30
      def register_event_listeners(events)
        NewRelic::Agent.logger.
          debug("Wiring up Cross Application Tracing to events after finished configuring")

        events.subscribe(:before_call) do |env| #THREAD_LOCAL_ACCESS
          if should_process_request(env)
            state = NewRelic::Agent::TransactionState.tl_get

            save_client_cross_app_id(state, env)
            save_referring_transaction_info(state, env)
            set_transaction_attributes(state)
          end
        end

        events.subscribe(:after_call) do |env, (_status_code, headers, _body)| #THREAD_LOCAL_ACCESS
          state = NewRelic::Agent::TransactionState.tl_get

          insert_response_header(state, env, headers)
        end

      end