コード例 #1
0
        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);
        }