Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }