async Task RunBenchmark() { await Task.Yield(); var stripes = new Task[_settings.Clients]; for (var i = 0; i < _settings.Clients; i++) { var requestClient = await _transport.GetRequestClient <RequestMessage>(_settings.RequestTimeout).ConfigureAwait(false); stripes[i] = RunStripe(requestClient, _settings.MessageCount / _settings.Clients); } await Task.WhenAll(stripes).ConfigureAwait(false); _requestDuration = await _capture.RequestCompleted.ConfigureAwait(false); _consumeDuration = await _capture.ConsumeCompleted.ConfigureAwait(false); }