public void execute(MetricExecutionContext context)
{
long inputCount = context.getServices().getFilterService().getNumEventsEvaluated();
long schedDepth = context.getServices().getSchedulingService().getScheduleHandleCount();
long deltaInputCount = lastMetric == null ? inputCount : inputCount - lastMetric.getInputCount();
EngineMetric metric = new EngineMetric(engineURI, metricScheduleService.getCurrentTime(), inputCount, deltaInputCount, schedDepth);
lastMetric = metric;
metricEventRouter.route(metric);
metricScheduleService.add(interval, this);
}