public void Execute(MetricExecutionContext context) { long inputCount = context.Services.FilterService.NumEventsEvaluated; long schedDepth = context.Services.SchedulingService.ScheduleHandleCount; long deltaInputCount = _lastMetric == null ? inputCount : inputCount - _lastMetric.InputCount; var metric = new EngineMetric(_engineURI, _metricScheduleService.CurrentTime, inputCount, deltaInputCount, schedDepth); _lastMetric = metric; _metricEventRouter.Route(metric); _metricScheduleService.Add(Interval, this); }
public void Execute(MetricExecutionContext context) { long timestamp = metricScheduleService.CurrentTime; StatementMetric[] metrics = context.StatementMetricRepository.ReportGroup(statementGroup); if (metrics != null) { for (int i = 0; i < metrics.Length; i++) { StatementMetric metric = metrics[i]; if (metric != null) { metric.Timestamp = timestamp; metricEventRouter.Route(metrics[i]); } } } if (interval != -1) { metricScheduleService.Add(interval, this); } }