public void Observe(Object sender, StatementLifecycleEvent theEvent) { using (_iLock.Acquire()) { EPStatement stmt = theEvent.Statement; if (theEvent.EventType == StatementLifecycleEvent.LifecycleEventType.STATECHANGE) { if (theEvent.Statement.IsStopped || theEvent.Statement.IsDisposed) { var listener = _listeners.Pluck(stmt); if (listener != null) { stmt.Events -= listener; } } if (theEvent.Statement.IsStarted) { if (_statementFilter == null) { if (theEvent.Statement.Name.Equals(_statementName)) { AddStatement(stmt); } } else { if (_statementFilter.Pass(stmt)) { AddStatement(stmt); } } } } } }
public void Observe(StatementLifecycleEvent theEvent) { if (!MetricReportingPath.IsMetricsEnabled) { return; } if (theEvent.EventType == StatementLifecycleEvent.LifecycleEventType.STATECHANGE) { if (theEvent.Statement.IsDisposed) { _stmtMetricRepository.RemoveStatement(theEvent.Statement.Name); _statementMetricHandles.Remove(theEvent.Statement.Name); } } }
public void Observe(Object sender, StatementLifecycleEvent theEvent) { Events.Add(theEvent); LastContext = theEvent.Parameters; }