protected IOperationScope StartMvcOperation(MvcOperationContext context)
        {
            var scope = Op.Start(context.GetOperationName(), Op.Context(context.ToDictionary()));

            if (ActionToOperationMapKeeper.HasContext)
            {
                ActionToOperationMap[context.GetOperationKey()] = scope;
            }
            return(scope);
        }
        protected void TryFinishMvcOperation(MvcOperationContext context)
        {
            if (!ActionToOperationMapKeeper.HasContext)
            {
                return;
            }

            IOperationScope scope;

            if (!ActionToOperationMap.TryGetValue(context.GetOperationKey(), out scope))
            {
                OperationsLog.WriteLine(() => "DBG: no active mvc operation to finish");
            }
            else
            {
                scope.Dispose();
            }
        }