public async Task Invoke(HttpContext context)
        {
            if (PerformMetric(context) && Options.ApdexTrackingEnabled)
            {
                Logger.MiddlewareExecuting(GetType());

                context.Items[ApdexItemsKey] = _apdexTracking.NewContext();

                await Next(context);

                var apdex = context.Items[ApdexItemsKey];

                using (apdex as IDisposable)
                {
                }

                context.Items.Remove(ApdexItemsKey);

                Logger.MiddlewareExecuted(GetType());
            }
            else
            {
                await Next(context);
            }
        }
Esempio n. 2
0
        private async Task MeasureTransaction(HttpContext context)
        {
            _logger.MiddlewareExecuting <ApdexMiddleware>();

            try
            {
                using (_apdexTracking.NewContext())
                {
                    await _next(context);
                }
            }
            finally
            {
                _logger.MiddlewareExecuted <ApdexMiddleware>();
            }
        }
Esempio n. 3
0
        // ReSharper disable UnusedMember.Global
        public async Task Invoke(HttpContext context)
        // ReSharper restore UnusedMember.Global
        {
            _logger.MiddlewareExecuting <ApdexMiddleware>();

            try
            {
                using (_apdexTracking.NewContext())
                {
                    await _next(context);
                }
            }
            finally
            {
                _logger.MiddlewareExecuted <ApdexMiddleware>();
            }
        }
Esempio n. 4
0
        // ReSharper disable UnusedMember.Global
        public async Task Invoke(HttpContext context)
        // ReSharper restore UnusedMember.Global
        {
            _logger.MiddlewareExecuting <ApdexMiddleware>();

            context.Items[ApdexItemsKey] = _apdexTracking.NewContext();

            await _next(context);

            var apdex = context.Items[ApdexItemsKey];

            using (apdex as IDisposable)
            {
            }

            context.Items.Remove(ApdexItemsKey);

            _logger.MiddlewareExecuted <ApdexMiddleware>();
        }
Esempio n. 5
0
        public async Task Invoke(IDictionary <string, object> environment)
        {
            if (PerformMetric(environment) && Options.ApdexTrackingEnabled)
            {
                Logger.MiddlewareExecuting(GetType());

                environment[ApdexItemsKey] = _apdexTracking.NewContext();

                await Next(environment);

                var apdex = environment[ApdexItemsKey];
                using (apdex as IDisposable)
                {
                }
                environment.Remove(ApdexItemsKey);

                Logger.MiddlewareExecuted(GetType());
            }
            else
            {
                await Next(environment);
            }
        }