Ejemplo n.º 1
0
 public EPDataFlowEmitterWrapperWStatistics(EPDataFlowEmitter facility, int producerOpNum, OperatorStatisticsProvider statisticsProvider, bool cpuStatistics)
 {
     _facility           = facility;
     _producerOpNum      = producerOpNum;
     _statisticsProvider = statisticsProvider;
     _cpuStatistics      = cpuStatistics;
 }
 /// <summary>Ctor. </summary>
 /// <param name="emitter">to emit into the data flow</param>
 /// <param name="submitEventBean">indicator whether to submit EventBean or underlying events</param>
 /// <param name="theEvent">to process</param>
 public EPDataFlowEventBeanCollectorContext(
     EPDataFlowEmitter emitter,
     bool submitEventBean,
     EventBean theEvent)
 {
     Emitter           = emitter;
     IsSubmitEventBean = submitEventBean;
     Event             = theEvent;
 }
 /// <summary>
 /// Ctor.
 /// </summary>
 /// <param name="emitter">data flow emitter</param>
 /// <param name="submitEventBean">indicator whether the EventBean or the underlying event object must be submmitted</param>
 /// <param name="newEvents">insert stream events</param>
 /// <param name="oldEvents">remove stream events</param>
 /// <param name="statement">statement posting events</param>
 /// <param name="epServiceProvider">engine instances</param>
 public EPDataFlowIRStreamCollectorContext(EPDataFlowEmitter emitter, bool submitEventBean, EventBean[] newEvents, EventBean[] oldEvents, EPStatement statement, EPServiceProvider epServiceProvider)
 {
     Emitter           = emitter;
     IsSubmitEventBean = submitEventBean;
     NewEvents         = newEvents;
     OldEvents         = oldEvents;
     Statement         = statement;
     ServiceProvider   = epServiceProvider;
 }
 /// <summary>
 ///     Ctor.
 /// </summary>
 /// <param name="emitter">data flow emitter</param>
 /// <param name="submitEventBean">indicator whether the EventBean or the underlying event object must be submmitted</param>
 /// <param name="newEvents">insert stream events</param>
 /// <param name="oldEvents">remove stream events</param>
 /// <param name="statement">statement posting events</param>
 /// <param name="runtime">runtime instance</param>
 public EPDataFlowIRStreamCollectorContext(
     EPDataFlowEmitter emitter,
     bool submitEventBean,
     EventBean[] newEvents,
     EventBean[] oldEvents,
     object statement,
     object runtime)
 {
     Emitter = emitter;
     IsSubmitEventBean = submitEventBean;
     NewEvents = newEvents;
     OldEvents = oldEvents;
     Statement = statement;
     Runtime = runtime;
 }
Ejemplo n.º 5
0
 public HostFilter()
 {
     Emitter = null;
     Host = null;
 }
Ejemplo n.º 6
0
 public void SetGraphContext(EPDataFlowEmitter graphContext)
 {
     _lifecycle.Add(graphContext);
     _graphContext = graphContext;
 }
Ejemplo n.º 7
0
 public Emitter()
 {
     name            = null;
     dataFlowEmitter = null;
 }
Ejemplo n.º 8
0
 public TcpSource()
 {
     Emitter = null;
     Port = null;
 }
Ejemplo n.º 9
0
 public PathFilter()
 {
     Emitter = null;
     Path = null;
 }
 public EnrichRequestCorrelationFilter()
 {
     Emitter = null;
     Header = "X-Correlation";
 }
Ejemplo n.º 11
0
        public static DataflowStartDesc Realize(String dataFlowName,
                                                IDictionary <int, Object> operators,
                                                IDictionary <int, OperatorMetadataDescriptor> operatorMetadata,
                                                ICollection <int> operatorBuildOrder,
                                                IList <LogicalChannelBinding> bindings,
                                                DataFlowSignalManager dataFlowSignalManager,
                                                EPDataFlowInstantiationOptions options,
                                                EPServicesContext services,
                                                StatementContext statementContext)
        {
            // First pass: inject runtime context
            IDictionary <int, EPDataFlowEmitter> runtimeContexts    = new Dictionary <int, EPDataFlowEmitter>();
            OperatorStatisticsProvider           statisticsProvider = null;

            if (options.IsOperatorStatistics())
            {
                statisticsProvider = new OperatorStatisticsProvider(operatorMetadata);
            }

            bool audit = AuditEnum.DATAFLOW_OP.GetAudit(statementContext.Annotations) != null;

            foreach (int producerOpNum in operatorBuildOrder)
            {
                String operatorPrettyPrint = operatorMetadata.Get(producerOpNum).OperatorPrettyPrint;
                if (Log.IsDebugEnabled)
                {
                    Log.Debug("Generating runtime context for " + operatorPrettyPrint);
                }

                // determine the number of output streams
                Object producingOp                  = operators.Get(producerOpNum);
                int    numOutputStreams             = operatorMetadata.Get(producerOpNum).OperatorSpec.Output.Items.Count;
                IList <ObjectBindingPair>[] targets = GetOperatorConsumersPerStream(
                    numOutputStreams, producerOpNum, operators, operatorMetadata, bindings);

                EPDataFlowEmitter runtimeContext = GenerateRuntimeContext(
                    statementContext.EngineURI, statementContext.StatementName, audit, dataFlowName, producerOpNum,
                    operatorPrettyPrint, dataFlowSignalManager, targets, options);

                if (options.IsOperatorStatistics())
                {
                    runtimeContext = new EPDataFlowEmitterWrapperWStatistics(
                        runtimeContext, producerOpNum, statisticsProvider, options.IsCpuStatistics());
                }

                TypeHelper.SetFieldForAnnotation(producingOp, typeof(DataFlowContextAttribute), runtimeContext);
                runtimeContexts.Put(producerOpNum, runtimeContext);
            }

            // Second pass: hook punctuation such that it gets forwarded
            foreach (int producerOpNum in operatorBuildOrder)
            {
                String operatorPrettyPrint = operatorMetadata.Get(producerOpNum).OperatorPrettyPrint;
                if (Log.IsDebugEnabled)
                {
                    Log.Debug("Handling signals for " + operatorPrettyPrint);
                }

                // determine consumers that receive punctuation
                ICollection <int> consumingOperatorsWithPunctuation = new HashSet <int>();
                foreach (LogicalChannelBinding binding in bindings)
                {
                    if (!binding.LogicalChannel.OutputPort.HasPunctuation ||
                        binding.LogicalChannel.OutputPort.ProducingOpNum != producerOpNum)
                    {
                        continue;
                    }
                    consumingOperatorsWithPunctuation.Add(binding.LogicalChannel.ConsumingOpNum);
                }

                // hook up a listener for each
                foreach (int consumerPunc in consumingOperatorsWithPunctuation)
                {
                    EPDataFlowEmitter context = runtimeContexts.Get(consumerPunc);
                    if (context == null)
                    {
                        continue;
                    }
                    dataFlowSignalManager.AddSignalListener(
                        producerOpNum, new ProxyDataFlowSignalListener
                    {
                        ProcSignal = context.SubmitSignal
                    });
                }
            }

            return(new DataflowStartDesc(statisticsProvider));
        }
Ejemplo n.º 12
0
 public PathFilter()
 {
     Emitter = null;
     Path    = null;
 }
Ejemplo n.º 13
0
 public HostFilter()
 {
     Emitter = null;
     Host    = null;
 }
 /// <summary>Sets the emitter </summary>
 /// <param name="emitter">emitter</param>
 public void SetEmitter(EPDataFlowEmitter emitter)
 {
     this.emitter = emitter;
 }
Ejemplo n.º 15
0
 public TcpSource()
 {
     Emitter = null;
     Port    = null;
 }
 public EnrichRequestCorrelationFilter()
 {
     Emitter = null;
     Header  = "X-Correlation";
 }