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."); } } }
public HeartRateMonitor(ILoadTest loadTest) { if (loadTest == null) { throw new ArgumentNullException("loadTest"); } _loadTest = loadTest; }
public LoadEngine(ILoadTest test, IProgressReporter progressProvider, ILogger <LoadEngine> logger, IWorkerScheduler workerScheduler) { _test = test; _progressProvider = progressProvider; _logger = logger; _workerScheduler = workerScheduler; }
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())); }
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())); }