public void Execute()
        {
            if (!hasNewData) {
                return;
            }

            hasNewData = false;

            EventBean[][] oldDataPerStream = new EventBean[numStreams][];
            EventBean[][] newDataPerStream = new EventBean[numStreams][];

            for (int i = 0; i < numStreams; i++) {
                oldDataPerStream[i] = GetBufferData(oldStreamBuffer.Get(i));
                newDataPerStream[i] = GetBufferData(newStreamBuffer.Get(i));
            }

            InstrumentationCommon instrumentationCommon = agentInstanceContext.InstrumentationProvider;
            if (instrumentationCommon.Activated()) {
                instrumentationCommon.QJoinDispatch(newDataPerStream, oldDataPerStream);
                joinExecutionStrategy.Join(newDataPerStream, oldDataPerStream);
                instrumentationCommon.AJoinDispatch();
                return;
            }

            joinExecutionStrategy.Join(newDataPerStream, oldDataPerStream);
        }
Exemple #2
0
        public void Execute()
        {
            if (!_hasNewData)
            {
                return;
            }
            _hasNewData = false;

            var oldDataPerStream = new EventBean[_numStreams][];
            var newDataPerStream = new EventBean[_numStreams][];

            for (var i = 0; i < _numStreams; i++)
            {
                oldDataPerStream[i] = GetBufferData(_oldStreamBuffer.Get(i));
                newDataPerStream[i] = GetBufferData(_newStreamBuffer.Get(i));
            }

            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.Get().QJoinDispatch(newDataPerStream, oldDataPerStream);
            }
            _joinExecutionStrategy.Join(newDataPerStream, oldDataPerStream);
            if (InstrumentationHelper.ENABLED)
            {
                InstrumentationHelper.Get().AJoinDispatch();
            }
        }