public async Task TestCloseWhenQueueFull()
        {
            TimeSpan neverFlushInterval = TimeSpan.FromHours(1);

            _reporter = new RemoteReporter(_sender, neverFlushInterval, MaxQueueSize, _metrics, _loggerFactory);

            SetupTracer();

            // change sender to blocking mode
            _sender.BlockAppend();

            // fill the queue
            for (int i = 0; i < MaxQueueSize + 10; i++)
            {
                _reporter.Report(NewSpan());
            }

            var closeTimeout = new CancellationTokenSource(_closeTimeout).Token;
            await _reporter.CloseAsync(closeTimeout).ConfigureAwait(false);

            // expect no exception thrown
        }