Ejemplo n.º 1
0
        private async Task RetryInitialize(ILoadTest test)
        {
            var count = 0;

            while (true)
            {
                try
                {
                    await test.Initialize(_loadTestHttpClient);

                    break;
                }
                catch (Exception e)
                {
                    Console.WriteLine($"Initialize User {UserNumber} Failed. for Test {test.Name}");
                    Console.WriteLine(e);
                    count++;

                    if (count > 1)
                    {
                        Console.WriteLine("User will not be added.");
                        throw;
                    }

                    Console.WriteLine("Trying again.");
                }
            }
        }
Ejemplo n.º 2
0
        public HeartRateMonitor(ILoadTest loadTest)
        {
            if (loadTest == null)
            {
                throw new ArgumentNullException("loadTest");
            }

            _loadTest = loadTest;
        }
Ejemplo n.º 3
0
        public HeartRateMonitor(ILoadTest loadTest)
        {
            if (loadTest == null)
            {
                throw new ArgumentNullException("loadTest");
            }

            _loadTest = loadTest;
        }
Ejemplo n.º 4
0
 public LoadEngine(ILoadTest test,
                   IProgressReporter progressProvider,
                   ILogger <LoadEngine> logger,
                   IWorkerScheduler workerScheduler)
 {
     _test             = test;
     _progressProvider = progressProvider;
     _logger           = logger;
     _workerScheduler  = workerScheduler;
 }
Ejemplo n.º 5
0
        private async Task <UserIterationResult> ExecuteTest(ILoadTest nextTest, IUserLoadTestHttpClient userLoadClient, Func <TimeSpan> getCurrentTimeSpan)
        {
            var userTime    = ValueStopwatch.StartNew();
            var startedTime = getCurrentTimeSpan();

            Exception exception = null;

            try
            {
                await nextTest.Execute(userLoadClient);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            var elapsedTime = userTime.GetElapsedTime();

            var statusResults = userLoadClient.StatusResults();

            return(new UserIterationResult(_httpUser.BaseUrl, UserNumber, elapsedTime, Iteration, nextTest.Name, statusResults, startedTime, userLoadClient.UserDelay, exception?.ToString()));
        }
Ejemplo n.º 6
0
        private async Task <UserIterationResult> ExecuteTest(ILoadTest nextTest, IUserLoadTestHttpClient userLoadClient)
        {
            _userTime.Restart();
            var startTick = Stopwatch.GetTimestamp();

            Exception exception = null;

            try
            {
                await nextTest.Execute(userLoadClient);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            _userTime.Stop();

            var endTick = startTick + _userTime.ElapsedTicks;

            return(new UserIterationResult(_httpUser.BaseUrl, UserNumber, _userTime.Elapsed, Iteration, nextTest.Name, userLoadClient.StatusResults(), startTick, endTick, userLoadClient.UserDelay, exception?.ToString()));
        }